大伙看看我这个用matlab编的BP网络,咋差距就这么大?
这是我用matlab编写的
clear
fid=fopen('d:\ann\p0.txt','r');
P=fscanf(fid,'%g',[4 20]); %P为训练样本输入矢量
fid=fopen('d:\ann\t0.txt','r');
T=fscanf(fid,'%g',[1 20]); %T为训练样本目标矢量
fid=fopen('d:\ann\p1.txt','r');
PP=fscanf(fid,'%g',[4 4]); %PP为检验样本输入矢量
fid=fopen('d:\ann\t1.txt','r');
TT=fscanf(fid,'%g',[1 4]); %TT为检验样本目标矢量
net=newff(minmax(P),[5,1],{'tansig','purelin'},'trainlm');
net=init(net);
net.trainParam.epochs=50000; %设置网络训练次数为50000次
net.trainParam.show=50; %设置每隔50次显示当前网络训练误差
net.trainParam.goal=0.01; %设置网络训练目标误差为0.01
[net,tr]=train(net,P,T); %利用函数train()对网络进行训练
A=sim(net,P); %利用函数sim()对训练年份和检验年份进行仿真
AA=sim(net,PP);
T1=1:1:20;
plot(T1,T,T1,A);
T2=1:1:4;
plot(T2,TT,T2,AA);
[此贴子已经被作者于2007-7-11 22:25:38编辑过]