📄 bpneuralnet.txt
字号:
%未知数P,t,n,P_final预测用数据,n为时间序列的个数
%归一化后的输入向量P
for i=1:12
P(i,:)=(P(i,:)-min(P(i,:)))/(max(P(i,:))-min(P(i,:)));
P_final(i,:)=(P_final(i,:)-min(P(i,:)))/(max(P(i,:))-min(P(i,:)));
end
%归一化后的目标向量t
for i=1:4
t(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));
end
%测试样本
P_test=P;
t_test=t;
%隐含层单元个数向量
No=[20 25 30];
for i=1:3
net=newff(minmax(P),[No(i),4],{'tansig','logsig'});
net.trainParam.epochs=500;
net=init(net);
net=train(net,P,t);
Temp=sim(net,P_test);
t_final=sim(net,P_final);
y(4*i-3,:)=Temp(1,:);
y(4*i-2,:)=Temp(2,:);
y(4*i-1,:)=Temp(3,:);
y(4*i,:)=Temp(4,:);
t_end(:,i)=t_final(:,1);
end
Y1=[y(1,:);y(2,:);y(3,:);y(4,:)];
Y2=[y(5,:);y(6,:);y(7,:);y(8,:)];
Y3=[y(9,:);y(10,:);y(11,:);y(12,:)];
%求预测误差
for i=1:n
error1(i)=norm(Y1(:,i)-t_test(:,i));
error2(i)=norm(Y2(:,i)-t_test(:,i));
error3(i)=norm(Y3(:,i)-t_test(:,i));
end
figure;
plot(1:n,error1);
hold on;
plot(1:n,error2,'--');
hold on;
plot(1:n,error3,'+');
hold off;
for i=1:4
t_end(i,:)=t_end(i,:)*(max(t(i,:))-min(t(i,:)))+min(t(i,:));
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -