RBFNN一步预测混沌序列性能程序(转贴)
一个神经网络对logistic混沌序列一步预测的程序%% use logistic function to genenrate a sequence
%%
clear all;
x=[];
T=[];
x(1)=0.22;
k=4;
n=900;
N=400;
% 产生logistic序列,前100个去除
for i=1:n
x(i+1)=k*x(i)*(1-x(i));
end
X(1:800)=x(101:900);
% 用X的前400个数据训练RBF神经网络
for j=1:N
P(1:8,j)=X(j:j+7)';
end
T=X(9:408); % 目标数据
net1=newrb(P,T,0.001,1);% 训练RBF神经网络
N1=300;
% 选取X的400—700个数据进行RBF神经网络检验
for j=1:N1
P1(1:8,j)=X(j+400:j+7+400)';
end
T1=X(409:708); % 目标数据
%仿真验证
a=sim(net1,P1);% 对检验数据的预测结果
e = T1-a; % 一步预测误差
mse = sqrt(e*e')/size(e,2) % 均方误差 MeanSquareError
%画图描绘仿真结果
figure(2)
plot(X(1:200));
axis();
title('logistic混沌序列');
xlabel('t');
ylabel('magnitude');
figure(3)
plot(1:300,T1,'b',1:300,a,'r*');
h = legend('混沌序列','RBF神经网络一步预测值');
axis();
hold on
title('混沌序列与一步预测值');
xlabel('t');
ylabel('magnitude');
figure(4);
plot(e,'b-');
axis();
title('预测误差e');
xlabel('t');
ylabel('magnitude');
转自:matwav--mary
页:
[1]