資源簡介
bp.rar

代碼片段和文件信息
%%
%對程序的說明%
%做生成數(使用0.1做因子)之后13年的數據按統計方法標準化后輸入訓練仿真對比結果。這個過程相當于插值計算%
%輸出結果請最后五句r1rlplotyy(ktokt)plotyy(kakf)%
%這樣做的缺點是不能檢驗預測效果的好壞還有一點我對網絡初始化的過程沒有把握%
%???感謝親親使用此代碼,此代碼解決您的問題了嗎~(@^_^@)~
%???沒解決的話告訴親親一個好消息,登錄淘寶店鋪“大成軟件工作室”,可以下載(????)1分錢成品代碼(′▽‘〃)哦~
%???是的,親親真的沒有看錯,撓破頭皮的問題真的1分錢就可以解決了(づ??????)づ
%???小的這就把傳送門給您,記得要收藏好哦(づ ̄3 ̄)づ╭?~
%???傳送門:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15151018122.5.uwGoq5&id=538759553146
%???如果傳送門失效,親親可以來店鋪討要,客服MM等親親來騷擾哦~(*/ω╲*)
web?https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15151018122.5.uwGoq5&id=538759553146?-browser?
clear
%?數據輸入
inv=[189.6??244.2??328.5??405.3??487.5??568.6??669.9??801.6??785.9??859.2??979.7??1086.3??1241];
d1=[15.3??16.6??17.2??22.8??37.6??30.8??38.9??50.8??58.2??41.2??55.8??71.7??82.3];
d2=[117.7??140.7??177.8??209.8??247.7??290.8??343.2??337.1??308.1??353.6??350.1??367.2??415.7];
d3=[56.6??86.9??133.5??172.6??202.2??247??287.8??413.7??419.6??464.4??573.8??647.4??742.1];
f=[822.3??959.7??1198.4??1607.5??1997.6??2380.9??2683.8??2798.9??2897.4??3253??3561??3882?4433];
k=1991:1:2003;
%?使用13年數據訓練得到網絡仿真計算相對誤差
%對原始數據初始化的過程為t(1)=f(1);??t(i)=t(i-1)+0.1*f(i)(i=2:13)
%?累加?p1(1)=d1(1);for?i=2:13?p1(i)=0.1*d1(i)+p1(i-1);end?%
%?累減?a(1)=v(1);for?i=2:13?a(i)=(v(i)-v(i-1))*10;end?%
%?先賦予0值
p1=zeros(113);p2=zeros(113);p3=zeros(113);t=zeros(113);
p1(1)=d1(1);for?i=2:13?p1(i)=0.*d1(i)+p1(i-1);end
p2(1)=d2(1);for?i=2:13?p2(i)=0.1*d2(i)+p2(i-1);end
p3(1)=d3(1);for?i=2:13?p3(i)=0.1*d3(i)+p3(i-1);end
t(1)=f(1);for?i=2:13?t(i)=0.1*f(i)+t(i-1);end
b=[p1;p2;p3;t]‘;
p=[(p1-mean(p1))./std(p1);(p2-mean(p2))./std(p2);(p3-mean(p3))./std(p3)];
tt=(t-?mean(t))./std(t);%數據標準化處理標準化為網絡輸入p期望輸出tt
%建立網絡并訓練
net=newff(minmax(p)[41]{‘tansig‘‘purelin‘}‘trainlm‘);
net.iw{11}=zeros(size(net.iw{11}))+0.5;
net.lw{21}=zeros(size(net.lw{21}))+0.75;
net.b{11}=zeros(size(net.b{11}))+0.5;
net.b{21}=zeros(size(net.b{21}));
net.trainParam.epochs=3000;
net.trainParam.goal?=0.000005;
net=train(netptt);
%網絡仿真得到網絡輸出,并計算誤差
tt1=sim(netp);
to=tt1.*std(t)+mean(t);%利用標準化的逆變換得到t1的近似值to
a=zeros(113);a(1)=to(1);
for?i=2:13?a(i)=(to(i)-to(i-1))*10;?end?%累減得到近似的實際產值a
r_net=(tt1-tt)./tt;%網絡相對誤差
r_add=(to-t)./t;%總產值累加數相對誤差
r_real=(a-f)./f;%實際總產值相對誤差
%輸出結果%
r1=[r_net;r_add;r_real]‘%網絡相對誤差/累加數相對誤差/實際值相對誤差
r=r_real./r_add?%誤差放大倍數
l=[to;t;to-t;a;f;a-f]‘%累加數計算值/累加數/絕對誤差//計算的實際值/實際值/絕對誤差
plotyy(ktokt);%總產值的仿真累加值(to)隨時間變化曲線與實際累加值(t)隨時間變化曲線
%在這里設置斷點以查看這兩條曲線%
plotyy(kakf);%總產值的仿真值(a)隨時間變化曲線與實際值(f)隨時間變化曲線
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3053??2016-09-22?16:15??bp\bp.m
?????文件???????2567??2016-09-22?16:14??bp\bp2.m
?????文件??????28792??2004-08-11?20:11??bp\sourse\ANN.mat
?????文件???????8442??2004-08-12?10:20??bp\sourse\AnnData.txt
?????文件???????1388??2004-08-12?10:32??bp\sourse\Predict.asv
?????文件???????1952??2016-09-22?16:15??bp\sourse\Predict.m
?????文件????????273??2004-08-12?10:34??bp\sourse\說明.txt
????..AD...?????????0??2006-03-18?19:39??bp\sourse
?????目錄??????????0??2016-09-21?23:03??bp
-----------?---------??----------?-----??----
????????????????46467????????????????????9
評論
共有 條評論