📄 rbfnn一步预测混沌序列性能程序.txt
字号:
%% ly 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) % 均方误差 Mean Square Error
%画图描绘仿真结果
figure(2)
plot(X(1:200));
axis([1 200 -0.1 1.1]);
title('logistic混沌序列');
xlabel('t');
ylabel('magnitude');
figure(3)
plot(1:300,T1,'b',1:300,a,'r*');
h = legend('混沌序列','RBF神经网络一步预测值');
axis([1 300 -0.5 1.5]);
hold on
title('混沌序列与一步预测值');
xlabel('t');
ylabel('magnitude');
figure(4);
plot(e,'b-');
axis([1 300 -0.1 0.1]);
title('预测误差e');
xlabel('t');
ylabel('magnitude');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -