相似文件
换一批
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
close all
clear
echo on
clc
%BP建模
%原始数据归一化
a=[
350,1774,131.02,7449,438.77,116.39,352,3239;
374,1872,137.5,7670,471.43,133.27,739,2967;
384,2039,147.24,8435,520.03,153.56,474,3152;
393,2079,151.26,8475,563.52,166.7,703,3364;
416,2094,88.73,7747,618.28,167.31,605,4184;
423,2260,91.80,8100,695.32,181.99,679,4592;
443,2263,95.1,8302,776.51,194.48,711,4724;
456,2249,90.71,8313,857.98,187.72,695,4815;
477,2424,87.5,8425,415.73,193.67,701,4850]'
b=[303.7,542.09,577.35,763.72,890.63,952.9,1277.8,1659.7,2057.1;
1461605,1676403,2051779,2010225,2098516,2502363,3027923,3502732,3915435]'
p=[a(:,1),a(:,2),a(:,4),a(:,6)];
d=[a(:,3),a(:,5),a(:,7),a(:,8)];
e=[b(4),b(6),b(8),b(9)];
f=[b(2),b(3),b(5),b(7)];
g=[a(:,6),a(:,7),a(:,8),a(:,9)];
h=[b(7),b(8),b(9),b(10)];
[dn,mind,maxd,en,mine,maxe]=premnmx(d,e);
%建立相应的BP网络
net=newff(minmax(dn),[10 1],{'tansig','purelin'},'traingdx');
net.trainParam.lr=0.01;
net.trainParam.epochs=30;
net.trainParam.goal=1e-1;
net=train(net,dn,en);
iw1=net.IW{1};
b1=net.b{1};
iw2=net.LW{2};
[pn]=tpremnmx(p,mind,maxd);
[dn]=tpremnmx(d,mind,maxd);
[fn]=tpremnmx(f,mine,maxe);
[en]=tpremnmx(e,mine,maxe);
[gn]=tpremnmx(g,mind,maxd);
[hn]=tpremnmx(h,mine,maxe);
yn=sim(net,pn);
xn=sim(net,pn);
Gn=sim(net,gn);
y=f(yn,mine,maxe);
x=fpremnmx(xn,mine,maxe);
z=fpremnmx(Gn,mine,maxe);
eye=mse(yn-en);
exf=mse(Gn-hn);
disp('训练样本仿真误差');
disp(eye);
disp('训练样本仿真误差');
disp(exf);
disp('训练样本仿真误差');
disp(egh)
save netdww net;
r=2005:1:2013;
w=[x(1)x(2)y(1)x(3)y(2)x(4)z(1)z(2)z(3)z(4)];
hold on;
plot(r,w,'*k')
plot(r,b,'-k')
plot(r,w,'-b')
dis('程序结束')
请懂得人帮忙看一下,谢谢了
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|