![]() |
[求助]newff创建的BP网络 附代码
%输入
P = [1.24 1.36 1.38 1.38 1.38 1.4 1.48 1.54 1.56 1.14 1.18 1.2 1.26 1.28 1.3; 1.72 1.74 1.64 1.82 1.9 1.7 1.82 1.82 2.08 1.78 1.96 1.86 2.0 2.0 1.96]; %输出 T = [1 1 1 1 1 1 1 1 1 0 0 0 0 0 0]; %测试样本 p = [1.24, 1.28, 1.4; 1.8, 1.84, 2.04]; net=newff(minmax(P),[5,1],{'logsig','purelin'},'traingdx'); net.trainParam.show=50; net.trainParam.lr=0.1; net.trainParam.lr_inc=1.05; net.trainParam.epochs=300; net.trainParam.goal=0.01; %net.trainParam.mu_dec=0.1; %net.trainParam.mu_inc=7; [net,tr]=train(net,P,T); A=sim(net,P); a=sim(net,p); 可以正常运行得到性能曲线 但是把traingdx改为trainlm函数,加上trainlm函数的参数net.trainParam.mu_dec=0.1; net.trainParam.mu_inc=7;去掉traingdx函数的参数,即: %输入 P = [1.24 1.36 1.38 1.38 1.38 1.4 1.48 1.54 1.56 1.14 1.18 1.2 1.26 1.28 1.3; 1.72 1.74 1.64 1.82 1.9 1.7 1.82 1.82 2.08 1.78 1.96 1.86 2.0 2.0 1.96]; %输出 T = [1 1 1 1 1 1 1 1 1 0 0 0 0 0 0]; %测试样本 p = [1.24, 1.28, 1.4; 1.8, 1.84, 2.04]; net=newff(minmax(P),[5,1],{'logsig','purelin'},'trainlm'); net.trainParam.show=50; % net.trainParam.lr=0.1; % net.trainParam.lr_inc=1.05; net.trainParam.epochs=300; net.trainParam.goal=0.01; net.trainParam.mu_dec=0.1; net.trainParam.mu_inc=7; [net,tr]=train(net,P,T); A=sim(net,P); a=sim(net,p); 程序就不能运行。提示错误 Error in ==> C:\MATLAB6p5\toolbox\nnet\nnet\@network\subsasgn.m (setTrainFcn) On line 1459 ==> net.trainParam = feval(trainFcn,'pdefaults'); Error in ==> C:\MATLAB6p5\toolbox\nnet\nnet\@network\subsasgn.m On line 405 ==> [net,err]=setTrainFcn(net,trainFcn); Error in ==> C:\MATLAB6p5\toolbox\nnet\nnet\newff.m On line 160 ==> net.trainfcn = btf; 只改变了神经网络的训练函数,为什么就不能正常运行了,是trainlm有什么特殊的地方么?本人初学,请教大家,谢谢。 |
所有时间均为北京时间。现在的时间是 14:27。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.