版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 附錄程序源代碼</b></p><p> 以“永財”號為例,提供鐵金屬含量預測程序源代碼</p><p><b> x=1:1:18</b></p><p> %鐵元素含量18組歷史數(shù)據(jù)</p><p> y=[5 4.4 5.8 6.4 3.1 1.8
2、 5.9 2.9 8.9 8.8 5.9 2.6 1.7 6.1 3.2 0.7 2.4 2.2 ]</p><p> x1=linspace(1,18,100) </p><p> y1=spline(x,y,x1)</p><p> plot(x,y,'*',x1,y1,'b')</p>
3、<p> xlabel(‘取樣次數(shù)’)</p><p> ylabel(‘鐵元素含量’)</p><p><b> %% 聲明全局變量</b></p><p> global p % 訓練集輸入數(shù)據(jù)</p><p> global t % 訓練集輸出數(shù)據(jù)</p><p>
4、 global R % 輸入神經(jīng)元個數(shù)</p><p> global S2 % 輸出神經(jīng)元個數(shù)</p><p> global S1 % 隱層神經(jīng)元個數(shù)</p><p> global S % 編碼長度</p><p><b> %% 導入數(shù)據(jù)</b></p><p><
5、;b> S1=10</b></p><p><b> % 輸入和輸出樣本</b></p><p> for i=1:75</p><p> p(i,1:10)=y1(i:i+9)</p><p><b> end</b></p><p> t=p
6、(2:75,10)</p><p><b> % 數(shù)據(jù)歸一化</b></p><p> [pn,minp,maxp,tn,mint,maxt] = premnmx(p',t');</p><p><b> % 測試數(shù)據(jù)</b></p><p> for j=1:15</
7、p><p> k(j,1:10)=y1(j+75:j+84)</p><p><b> end</b></p><p><b> % 數(shù)據(jù)歸一化</b></p><p> [kn,mink,maxk,en,mine,maxe]=premnmx(k',e');</p>
8、<p><b> %% BP神經(jīng)網(wǎng)絡</b></p><p><b> % 網(wǎng)絡創(chuàng)建</b></p><p> net=newff(minmax(pn),[10,1], {'tansig','purelin' },'trainlm');</p><p>
9、net.layers { 1}.initFcn='initwb';</p><p> net.layers {2 } .initFcn='initwb';</p><p> net.inputWeights { 1,1 }.initFcn=’rands’;</p><p> net.layerWeights {2,1}.init
10、Fcn='rands';</p><p> net.biases { 1,1}.initFcn='rands’;</p><p> net.biases { 2,1}.initFcn='rands';</p><p><b> % 設置訓練參數(shù)</b></p><p> n
11、et.trainParam.show=100;</p><p> net.trainParam.lr=0.1;</p><p> net.trainParam.mc=0.9;</p><p> net.trainParam.epochs=10000;</p><p> net.trainParam. goal=1e-3;</p&
12、gt;<p><b> % 網(wǎng)絡訓練</b></p><p> net=init(net);</p><p> net=train(net,pn,tn)</p><p><b> %仿真測試</b></p><p> s_bp=sim(net,kn)</p>&
13、lt;p> Out1=postmnmx(s_bp,mine,maxe) % BP神經(jīng)網(wǎng)絡的仿真結(jié)果</p><p> %bp算法 預測值和真實值的比較</p><p><b> figure(1)</b></p><p><b> x=1:1:15</b></p><p><
14、b> y=[1.1678</b></p><p><b> 0.8617</b></p><p><b> 0.7122</b></p><p><b> 0.7339</b></p><p><b> 0.9089</b>&l
15、t;/p><p><b> 1.1972</b></p><p><b> 1.5581</b></p><p><b> 1.9512</b></p><p><b> 2.3360</b></p><p><b>
16、 2.6719</b></p><p><b> 2.9184</b></p><p><b> 3.0350</b></p><p><b> 2.9811</b></p><p><b> 2.7163</b></p>
17、<p><b> 2.2000;]</b></p><p> x1=linspace(1,15,100)</p><p> y1=spline(x,y,x1)</p><p> y2=spline(x,out1,x1)</p><p> plot(x,y,'*',x1,y1,
18、9;k',x,out1,'p',x1,y2,'r')</p><p><b> grid</b></p><p> title('bp算法預測值與實際值比較’)</p><p> xlabel('測試次數(shù)’)</p><p> ylabel(‘鐵元素含量/p
19、pm’)</p><p> legend(‘實際值’,'line1',’預測值’,'line2')</p><p> %計算bp算法的相對誤差以及未來預測值</p><p> a=abs(out1-e')</p><p> for i=1:15</p><p> a1(
20、i, 1)=a(1,i)/e(i, 1)</p><p><b> end</b></p><p> a2=sum(a1)/15</p><p> q=[1.1972 1.5581 1.9512 2.3360 2.6719 2.9184 3.0350 2.9811 2.7163 2.2000;]</p>&
21、lt;p> [qn,minq,maxq]=premnmx(q’);</p><p> w=sim(net,qn)</p><p> w_bp=postmnmx(w,mine,maxe)</p><p> %% GA-BP神經(jīng)網(wǎng)絡</p><p> R=size(p’,1);</p><p> S2=s
22、ize(t', 1);</p><p> S=R*S1+S1*S2+S1+S2;</p><p> aa=ones(S,1)*[-1,1];</p><p> popu=100; % 種群規(guī)模</p><p> initPpp=initiaIizega(popu,aa,`gabpEval');%初始化種群</p&
23、gt;<p> gen=100;%遺傳代數(shù)</p><p> %調(diào)用GAOT工具箱,其中目標函數(shù)定義為gabpEval</p><p> [x,endPop,bPop,trace]=ga(aa,'gabpEval', [],initPpp, [ 1e-6 1 1 ],'maxGenTerm',gen,...</p><
24、p> 'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);</p><p> %繪均方誤差變化曲線</p><p><b> figure(2)</b></p><p> plot(trace
25、(:,1), 1 ./trace(:,3 ),'r-');</p><p><b> hold on</b></p><p> plot(trace(:,1),1./trace(:,2),'b-');</p><p> xlabel('Generation');</p><
26、;p> ylabel('Sum-Squared Error');</p><p> %繪制適應度函數(shù)變化</p><p><b> figure(3)</b></p><p> plot(trace(:,1),trace(:,3),'r-');</p><p><b&g
27、t; hold on</b></p><p> plot(trace(:,1),trace(:,2),'b-');</p><p> xlabel('Generation');</p><p> ylabel('Fittness');</p><p> %計算最優(yōu)的權(quán)值和闌
28、值</p><p> [W1,B1,W2,B2,val]=gadecod(x);</p><p> net.IW{1,1}=W1;</p><p> net.LW { 2,1} =W2;</p><p> net.b{ 1 }=B1;</p><p> net.b { 2}=B2;</p>&l
29、t;p> %利用新的權(quán)值和閉值進行訓練</p><p> net=train(net,pn,tn);</p><p><b> %仿真測試</b></p><p> s-ga=sim(net,kn);</p><p> out2=postmnmx(s_ga,mine,maxe)</p>&l
30、t;p> %遺傳優(yōu)化后的仿真結(jié)果</p><p> %ga算法預測值和真實值的比較</p><p><b> figure(4)</b></p><p><b> x=1:1:15</b></p><p><b> y=[1.1678</b></p>
31、<p><b> 0.8617</b></p><p><b> 0.7122</b></p><p><b> 0.7339</b></p><p><b> 0.9089</b></p><p><b> 1 .197
32、2</b></p><p><b> 1.5581</b></p><p><b> 1.9512</b></p><p><b> 2.3360</b></p><p><b> 2.6719</b></p><p
33、><b> 2.9184</b></p><p><b> 3.0350</b></p><p><b> 2.9811</b></p><p><b> 2.7163</b></p><p><b> 2.2000;]</
34、b></p><p> x1=linspace(1,15,100)</p><p> y1=spline(x,y,x1)</p><p> y2=spline(x,out2,x1)</p><p> plot(x,y,'*',x1,y1,'b',x,out2,'p',x1,y2,&
35、#39;r')</p><p><b> grid</b></p><p> title('gabp算法預測值與實際值比較’)</p><p> xlabel('測試次數(shù)’)</p><p> ylabel(‘鐵元素含量/PPm’)</p><p> legend
36、(‘實際值’,'line 1',’預測值’,'line2')</p><p> %計算gabp算法的相對誤差以及未來預測值</p><p> b=abs(out2-e')</p><p> for i=1:15</p><p> b1 (i,1)=b(1,i)/e(i,1)</p>
37、<p><b> end</b></p><p> b2=sum(b1)/ 15</p><p> q=[1.1972 1.5581 1.9512 2.3360 2.6719 2.9184 2.9811 2.7163 2.2000;]</p><p> [qn,minq,maxq]=premnmx(q'
38、;);</p><p> w=sim(net,qn)</p><p> w_ga=postmnmx(w,mine,maxe)</p><p> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@</p><p> 附錄程序源代碼(備份)</p><p> 以“永財”號為例,提供鐵金屬含量預測
39、程序源代碼</p><p><b> x=1:1:18</b></p><p> %鐵元素含量18組歷史數(shù)據(jù)</p><p> y=[5 4.4 5.8 6.4 3.1 1.8 5.9 2.9 8.9 8.8 5.9 2.6 1.7 6.1 3.2 0.7 2.4 2.2 ]</p><p
40、> x1=linspace(1,18,100)</p><p> y1=spline(x,y,x1)</p><p> plot(x,y,'*',x1,y1 ,'b')</p><p> xlabel(‘取樣次數(shù)’)</p><p> ylabel(‘鐵元素含量’)</p><
41、;p><b> %% 聲明全局變量</b></p><p> global p % 訓練集輸入數(shù)據(jù)</p><p> global t % 訓練集輸出數(shù)據(jù)</p><p> global R % 輸入神經(jīng)元個數(shù)</p><p> global S2 % 輸出神經(jīng)元個數(shù)</p><
42、;p> global S1 % 隱層神經(jīng)元個數(shù)</p><p> global S % 編碼長度</p><p><b> %% 導入數(shù)據(jù)</b></p><p><b> S1=10</b></p><p><b> % 輸入和輸出樣本</b></
43、p><p> for i=1:75</p><p> p(i,1:10)=y1(i:i+9)</p><p><b> end</b></p><p> t=p(2:75,10) %原為t=p(2:75,10)</p><p><b> % 數(shù)據(jù)歸一化</b><
44、/p><p> [pn,minp,maxp,tn,mint,maxt] = premnmx(p',t');</p><p><b> % 測試數(shù)據(jù)</b></p><p> for j=1:15</p><p> k(j,1:10)=y1(j+75:j+84)</p><p>
45、<b> end</b></p><p> e=k(2:15,10) % 我個人添加的,未知正確與否。</p><p><b> % 數(shù)據(jù)歸一化</b></p><p> [kn,mink,maxk,en,mine,maxe]=premnmx(k',e');</p><p>
46、;<b> %% BP神經(jīng)網(wǎng)絡</b></p><p><b> % 網(wǎng)絡創(chuàng)建</b></p><p> net=newff(minmax(pn),[10,1], {'tansig','purelin' },'trainlm');</p><p> net.layer
47、s { 1}.initFcn='initwb';</p><p> net.layers {2 } .initFcn='initwb';</p><p> net.inputWeights { 1,1 }.initFcn=’rands’;</p><p> net.layerWeights {2,1}.initFcn='
48、rands';</p><p> net.biases { 1,1}.initFcn='rands’;</p><p> net.biases { 2,1}.initFcn='rands';</p><p><b> % 設置訓練參數(shù)</b></p><p> net.trainP
49、aram.show=100;</p><p> net.trainParam.lr=0.1;</p><p> net.trainParam.mc=0.9;</p><p> net.trainParam.epochs=10000;</p><p> net.trainParam. goal=1e-3;</p><
50、p><b> % 網(wǎng)絡訓練</b></p><p> net=init(net);</p><p> net=train(net,pn,tn)</p><p><b> %仿真測試</b></p><p> s_bp=sim(net,kn)</p><p>
51、 Out1=postmnmx(s_bp,mine,maxe) % BP神經(jīng)網(wǎng)絡的仿真結(jié)果</p><p> %bp算法 預測值和真實值的比較</p><p><b> figure(1)</b></p><p><b> x=1:1:15</b></p><p><b> y=
52、[1.1678</b></p><p><b> 0.8617</b></p><p><b> 0.7122</b></p><p><b> 0.7339</b></p><p><b> 0.9089</b></p>
53、<p><b> 1.1972</b></p><p><b> 1.5581</b></p><p><b> 1.9512</b></p><p><b> 2.3360</b></p><p><b> 2.6719&
54、lt;/b></p><p><b> 2.9184</b></p><p><b> 3.0350</b></p><p><b> 2.9811</b></p><p><b> 2.7163</b></p><p&g
55、t;<b> 2.2000;]</b></p><p> x1=linspace(1,15,100)</p><p> y1=spline(x,y,x1)</p><p> y2=spline(x,out1,x1)</p><p> plot(x,y,'*',x1,y1,'k',
56、x,out1,'p',x1,y2,'r')</p><p><b> grid</b></p><p> title('bp算法預測值與實際值比較’)</p><p> xlabel('測試次數(shù)’)</p><p> ylabel(‘鐵元素含量/ppm’)</
57、p><p> legend(‘實際值’,'line1',’預測值’,'line2')</p><p> %計算bp算法的相對誤差以及未來預測值</p><p> a=abs(out1-e')</p><p> for i=1:15</p><p> a1(i, 1)=a(1
58、,i)/e(i, 1)</p><p><b> end</b></p><p> a2=sum(a1)/15</p><p> q=[1.1972 1.5581 1.9512 2.3360 2.6719 2.9184 3.0350 2.9811 2.7163 2.2000;]</p><p>
59、 [qn,minq,maxq]=premnmx(q’);</p><p> w=sim(net,qn)</p><p> w_bp=postmnmx(w,mine,maxe)</p><p> %% GA-BP神經(jīng)網(wǎng)絡</p><p> R=size(p’,1);</p><p> S2=size(t'
60、;, 1);</p><p> S=R*S1+S1*S2+S1+S2;</p><p> aa=ones(S,1)*[-1,1];</p><p> popu=100; % 種群規(guī)模</p><p> initPpp=initiaIizega(popu,aa,`gabpEval');%初始化種群</p><
61、p> gen=100;%遺傳代數(shù)</p><p> %調(diào)用GAOT工具箱,其中目標函數(shù)定義為gabpEval</p><p> [x,endPop,bPop,trace]=ga(aa,'gabpEval', [],initPpp, [ 1e-6 1 1 ],'maxGenTerm',gen,...</p><p>
62、39;normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);</p><p> %繪均方誤差變化曲線</p><p><b> figure(2)</b></p><p> plot(trace(:,1), 1
63、./trace(:,3 ),'r-');</p><p><b> hold on</b></p><p> plot(trace(:,1),1./trace(:,2),'b-');</p><p> xlabel('Generation');</p><p> y
64、label('Sum-Squared Error');</p><p> %繪制適應度函數(shù)變化</p><p><b> figure(3)</b></p><p> plot(trace(:,1),trace(:,3),'r-');</p><p><b> hold
65、on</b></p><p> plot(trace(:,1),trace(:,2),'b-');</p><p> xlabel('Generation');</p><p> ylabel('Fittness');</p><p> %計算最優(yōu)的權(quán)值和闌值</p&g
66、t;<p> [W1,B1,W2,B2,val]=gadecod(x);</p><p> net.IW{1,1}=W1;</p><p> net.LW { 2,1} =W2;</p><p> net.b{ 1 }=B1;</p><p> net.b { 2}=B2;</p><p>
67、%利用新的權(quán)值和閉值進行訓練</p><p> net=train(net,pn,tn);</p><p><b> %仿真測試</b></p><p> s-ga=sim(net,kn);</p><p> out2=postmnmx(s_ga,mine,maxe)</p><p>
68、%遺傳優(yōu)化后的仿真結(jié)果</p><p> %ga算法預測值和真實值的比較</p><p><b> figure(4)</b></p><p><b> x=1:1:15</b></p><p><b> y=[1.1678</b></p><p&g
69、t;<b> 0.8617</b></p><p><b> 0.7122</b></p><p><b> 0.7339</b></p><p><b> 0.9089</b></p><p><b> 1 .1972</b&g
70、t;</p><p><b> 1.5581</b></p><p><b> 1.9512</b></p><p><b> 2.3360</b></p><p><b> 2.6719</b></p><p><b
71、> 2.9184</b></p><p><b> 3.0350</b></p><p><b> 2.9811</b></p><p><b> 2.7163</b></p><p><b> 2.2000;]</b><
72、/p><p> x1=linspace(1,15,100)</p><p> y1=spline(x,y,x1)</p><p> y2=spline(x,out2,x1)</p><p> plot(x,y,'*',x1,y1,'b',x,out2,'p',x1,y2,'r'
73、;)</p><p><b> grid</b></p><p> title('gabp算法預測值與實際值比較’)</p><p> xlabel('測試次數(shù)’)</p><p> ylabel(‘鐵元素含量/PPm’)</p><p> legend(‘實際值’,
74、39;line 1',’預測值’,'line2')</p><p> %計算gabp算法的相對誤差以及未來預測值</p><p> b=abs(out2-e')</p><p> for i=1:15</p><p> b1 (i,1)=b(1,i)/e(i,1)</p><p>
75、;<b> end</b></p><p> b2=sum(b1)/ 15</p><p> q=[1.1972 1.5581 1.9512 2.3360 2.6719 2.9184 2.9811 2.7163 2.2000;]</p><p> [qn,minq,maxq]=premnmx(q');</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于遺傳神經(jīng)網(wǎng)絡的γ能譜分析研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的多光譜測溫方法研究.pdf
- 17753.基于光譜分析和神經(jīng)網(wǎng)絡技術(shù)的火焰燃燒特性研究
- 基于油樣光譜分析的設備磨損狀態(tài)監(jiān)測系統(tǒng)的研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的入侵檢測研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的股市預測.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的股票預測研究.pdf
- 免疫遺傳神經(jīng)網(wǎng)絡的研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的入侵檢測模型研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的倒立擺控制研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的圖像邊緣檢測.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的入侵檢測系統(tǒng)的研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的入侵檢測模型的研究.pdf
- 遺傳神經(jīng)網(wǎng)絡的綜合進化研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的車型識別算法研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的熱軋鋼管控制研究.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的入侵檢測系統(tǒng)研究.pdf
- 基于小波分析和遺傳神經(jīng)網(wǎng)絡的模擬電路故障診斷.pdf
- 基于遺傳神經(jīng)網(wǎng)絡的激光誘導擊穿光譜元素定量分析技術(shù).pdf
- 基于小波變換和遺傳神經(jīng)網(wǎng)絡的癲癇智能診斷.pdf
評論
0/150
提交評論