資源簡介
一個很好的bp神經網絡預測程序實例,有較好的預測精確性

代碼片段和文件信息
clc
clear?all
close?all
aa=xlsread(‘sy1.xls‘);
at=[{‘日期:2005-6-30至2006-12-1‘}{‘開盤價‘}{‘成交量‘}{‘最高價‘}{‘最低價‘}{‘收盤價‘}];
ys=‘brgmcyk‘;
pd=aa(1:330:)‘;
[pnminpmaxp]=premnmx(pd);
pr=[pn(:1:320);pn(:2:321);pn(:3:322);pn(:4:323);pn(:5:324)];
%?px=[pn(:1:300);pn(:2:301);pn(:3:302);pn(:4:303);pn(:5:304)];
px=pr(:1:300);
py=pn(56:305);
pX=pr(:301:320)
pY=pd(5306:325);?%pn(5306:325);??
net1=newff(minmax(px)[161]{‘tansig‘‘purelin‘}‘trainlm‘);?%{‘tansig‘‘logsig‘}‘traingdx‘);?{‘logsig‘‘purelin‘}
net1.trainParam.show=1;
net1.trainParam.epochs=2000;
net1.trainParam.goal=0.001;
net1.trainParam.max_fail=5;
net1=init(net1);
[net1trYE]=train(net1pxpy);
s=sim(net1px);
er=py-s;
figure
plot(py‘b‘);
hold?on
plot(s‘r*‘);
title(‘神經網絡訓練圖‘);
pp=sim(net1pX);
legend(‘實際目標值‘‘網絡擬合值‘2);
%?pp=pp+0.015*pp.*randn(1length(pp));??%加噪聲
disp(‘實際值‘)
pY
disp(‘預測值‘)
pp=minp(5)+(maxp(5)-minp(5))*(pp+1)/2
disp(‘預測產生的誤差‘)
pY-pp
figure;
plot(pY‘g-‘);
hold?on
plot(pp‘m*‘);
title(‘神經網絡預測圖‘);
legend(‘實際目標值‘‘預測值‘2)
figure;
plot(er‘m‘);
title(‘神經網絡訓練誤差曲線‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1213??2007-12-09?19:25??BP-forecast.m
-----------?---------??----------?-----??----
?????????????????1431????????????????????2
- 上一篇:Multisim14.0漢化包
- 下一篇:基單片機匯編的停車計費系統
評論
共有 條評論