www.gusucode.com > BP神经网络算法的matlab代码 > BP神经网络算法的matlab代码/bp源程序/sourse/Predict.m
clear tf='AnnData.txt'; fid=fopen(tf); n=7; m=3000; geshi=''; for i=1:n geshi=[geshi '%f ']; end ALLData=fscanf(fid,geshi,[n,m]); [mx,my]=size(ALLData); %%%%%%%%%%%%%%控制预测点的数目%%%%%%%%%% iitr=[1:1:my]; [mx,my]=size(iitr); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ALLData=ALLData(:,iitr); D1=ALLData(1,:); D2=ALLData(2,:); D3=ALLData(3,:); D4=ALLData(4,:); D5=ALLData(5,:); D6=ALLData(6,:); D7=ALLData(7,:); DataIn=[D1;D3;D4;D5]; DataOut=D7; [pn,minp,maxp,tn,mint,maxt]=premnmx(DataIn ,DataOut ); load ANN % load ANN deltp=maxp'-minp'; p1=minp'; p1=p1(ones(my,1),:)'; deltp=deltp(ones(my,1),:)'; %%%%%%%% ANN方法计算 CHF %%%%%%%%%% datin=[D1;D3;D4;D5]; pin=(2*(datin-p1)-deltp)./deltp; atr=sim(net,pin); a=postmnmx(atr,mint,maxt); bb=a./DataOut; rms=sqrt(sum((bb-1).^2)/my) end end end ave=sum(bb-1)/my max(bb) min(bb) b=abs(bb-1); rm=[0.05 .1 .15 0.2 .25 .3 .35 .4 .45 .5]; num=[]; for i= 1:10 num=[num sum(b<rm(i))/my] end rms plot(rm,num,'.-') xlabel('误差') ylabel('数据百分数') pause x=linspace(0,1.600,10); x2=linspace(0,1.200,10); y1=x; y2=0.7*x; y3=1.3*x2; plot(x,y1,'r-',x,y2,'r-',x2,y3,'r-',DataOut,a,'r+') xlabel('实验值(W/cm^2 )') ylabel('预测值(W/cm^2 )') axis('square')