P和T通过Excel导入变量
new=newff(minmax(P),[6,2],{'tansig','logsig'},'trainbr');
net.trainParam.epochs=1000;
net.trainParam.goal=0.001;
net.trainParam.show=10; %每间隔100步显示一次训练结果答
net.trainParam.lr=0.05; %学习速率0.05
net.trainParam.mc=0.9; %动量因子
net=train(net,P,T);
A1=sim(net,P) ;
x=1:2;
figure,plot(x,T,':r',x,A1,'b');
title('31日负荷预测与实际比较曲线,');
legend('实际负荷情况','预测负荷情况');
%计算仿真误差
E=T1-A1;
MSE=mse(E);
figure,plot(x,E);
title('误差曲线');
好久之前做过bp神经网络相关的项目,具体什么情况记不清楚了,不过当时写的程序是可以用的
T=[a4];
P=[a1 ;a2; a3; a5];
[P1,P2]=mapminmax(P);
[T1,T2]=mapminmax(T);
net=newff(minmax(P1),[5,1],{'tansig','tansig'});
net.trainParam.epochs=200;
net.trainParam.goal=0;
net.trainParam.show=50;
net=train(net,P1,T1);
Y=sim(net,P1);
Y1=mapminmax('reverse',Y,T2);
plot(a1,T,'-',a1,Y1,'--')
T=[e4];
P=[e1 ;e2; e3; e5];
D=[d1';d2';d3';d5'];
[D1,D2]=mapminmax(D);
[P1,P2]=mapminmax(P);
[T1,T2]=mapminmax(T);
net=newff(minmax(P1),[5,1],{'tansig','tansig'});
net.trainParam.epochs=200;
net.trainParam.goal=0;
net.trainParam.show=50;
net=train(net,P1,T1);
Y=sim(net,D1);
Y1=mapminmax('reverse',Y,H2);
plot(Y1,d4','o')
hold on
x=1:1:10;
y=x;
plot(x,y)
legend('','y=x')
xlabel('actual traffic volume')
ylabel('forecast traffic volume')
figure
scatter(d4',abs(d4'-Y1)./d4')
xlabel('actual traffic volume')
ylabel('relative error')
这里面的代码都是根据我当时的情况写的,所以不能照搬,你根据你的情况进行修改,如果有帮助的话还望采纳,谢谢!