⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab.txt

📁 基于matlab的三层bp神经网络源程序代码
💻 TXT
字号:
clear
%xiao yong,2006.05.06,erclab,hanyang university
clc
close all
load in36
p=in36(:,1:5)
t=in36(:,6)
p=p'
t=t'
[pn,meanp,stdp,tn,meant,stdt] = prestd(p,t)
for j=1:100

nu=randperm(36)
%训练集
iitr=pn(:,nu(1:31))
%提前中止集
iiva=pn(:,nu(32:36))
%测验集
iite=pn(:,37:43)
iitrtt=tn(:,nu(1:31))
iivatt=tn(:,nu(32:36))
iitett=tn(:,37:43)
val.P=iiva
val.T=iivatt
test.P=iite
test.T=iitett
n=10
%rand('state',0);
net.trainParam.epochs =2000
net.trainParam.goal=0.01
net.trainParam.max_fail=20
net.trainParam.min_grad=1e-20
net = newff(minmax(iitr),[n,1],{'logsig' 'purelin'},'trainlm');
[net,tr]=train(net,iitr,iitrtt,[],[],val,test)

a1=sim(net,iitr);
atr=poststd(a1,meant,stdt);
tt1=t(:,nu(1:31))
[m1 b1 r1]=postreg(atr,tt1)

a2=sim(net,iiva)
ava=poststd(a2,meant,stdt)
tt2=t(:,nu(32:36))
[m2 b2 r2]=postreg(ava,tt2)

a3=sim(net,iite)
ate=poststd(a3,meant,stdt)
tt3=t(:,37:43)
[m3 b3 r3]=postreg(tt3,ate)
%相关系数比较好的时候跳出循环
if (r1>=0.95 )&(r2>=0.95)&(r3>=0.95)
save netin36 net
     break
end
end 
%最后结果的绘图
figure
[m1 b1 r1]=postreg(atr,tt1)
grid
figure
[m2 b2 r2]=postreg(ava,tt2)
grid
figure
[m3 b3 r3]=postreg(tt3,ate)
grid
%文献中的计算结果绘图,他计算的为相关系数0.967,偶记算得为0.957,不过我的计算时间比他快。
aaa=[33.33 37.33 41.46 35.59 40.51 31 34.41];
bbb=[35.5 37 43.5 36.5 42.15 31.67 33.54]
figure
[m4 b4 c4]=postreg(aaa,bbb)







P=[0.5468 1.1131;0.4687 1.1323;0.4096 1.1612;0.5124 1.0659;0.4812 1.0657;0.4409 1.0739;0.5105 1.0443;0.4809 1.4320;0.4579 1.0454]; 
T=[0.866 1.88;0.845 1.88;0.827 1.88;0.866 3.720;0.845 3.720;0.827 3.720; 
0.866 5.500;0845 505;0.827 5.500]; 

net=newff(minmax(P),[5,20,1],{"purelin","logsig","purelin"},"traingd"); 
net.trainParam.show=50; 
net.trainParam.Ir=0.05; 
net.trainParam.epoch=100; 
net.trainParam.goal=0; 
[net,tr]=train(net,P,T); 
a=sim(net,P) 

怎么运行的话系统报错??? Error using ==> network/train 
Targets are incorrectly sized for network. 
Matrix must have 1 rows. 

Error in ==> e:matlabm1.m 
On line 11 ==> [net,tr]=train(net,P,T); 

>> 版主这是怎么回事啊 ???求救 求救 




p=[0.5468 1.1131;0.4687 1.1323;0.4096 1.1612;0.5124 1.0659;0.4812 1.0657;0.4409 1.0739;0.5105 1.0443;0.4809 1.4320;0.4579 1.0454]"; 
t=[0.866 1.88;0.845 1.88;0.827 1.88;0.866 3.720;0.845 3.720;0.827 3.720; 
0.866 5.500;0845 505;0.827 5.500]"; 
net=newff(minmax(p),**************************); 
net.trainParam************ 
net.trainParam************; 
***** 
net=train(net,p,t); 
y=sim(net,p); 
y 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -