发布时间:2019-07-29 16:44:22
求大神帮忙看看程序,为啥最后结果数量级应该是50000多却出来5000多,还有反归一化结果为什么是一个一维矩阵?
A=[119.53 4063.96 3434.71 2430.83 639.44 1228.16;
131.71 4937.50 4274.56 2902.55 822.01 1299.29;
141.10 6058.88 5261.72 3395.06 1033.91 1354.58;
147.90 6828.04 6111.23 3921.43 1156.23 1413.15;
154.79 7460.06 7045.00 4470.43 1285.28 1472.21;
158.82 7933.53 7872.19 4738.65 1339.12 1516.81;
162.31 7918.10 8714.26 5257.28 1143.47 1546.95;
];
T=A';
B=[41611;44651;47698;51603;50948;53179;51580];
P=B';
[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);
net=newff(minmax(t1),[13,1],{'logsig','purelin'} ,'trainbr');
net.trainParam.show = 10;
net.trainParam.epochs=2000;
net.trainParam.lr=0.08;
net.trainParam.goal=0.01;
init(net);
[net,per2]=train(net,t1,p1);
a=[168.96 7593.59 10786.64 5729.67 1129.45 1556.87;];
%将输入数据归一化
[b,ps] = mapminmax(a);
%放入到网络输出数据
an=sim(net,b);
%将得到的数据反归一化得到预测数据
d = mapminmax('reverse',an,ps);
补充:matlab程序改错