好久之前做过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')
这里面的代码都是根据我当时的情况写的,所以不能照搬,你根据你的情况进行修改,如果有帮助的话还望采纳,谢谢!