christy 发表于 2007-6-23 06:43

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]
查看完整版本: RBFNN一步预测混沌序列性能程序(转贴)