作业帮 > 综合 > 作业

一个关于三角隶属度函数的Matlab程序,求改错 P=[ 17 17.8 18.9 18.8 18.8 18.8 53.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/02 17:43:03
一个关于三角隶属度函数的Matlab程序,求改错 P=[ 17 17.8 18.9 18.8 18.8 18.8 53.1 54.6 56.8 58.5 59.5
如何能改成能收敛的图形呀
P=[P1;P2;P3]
P_train=[P(:,1) P(:,3) P(:,5) P(:,7) P(:,9) P(:,11)];
P_test=[P(:,2) P(:,4) P(:,6) P(:,8) P(:,10) P(:,12)];
s=9:18; %隐含层的个数;
res1=1:10;
res2=1:10
for i=1:10;
net=newff(minmax(P),[s(i),1],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=2000; %迭代次数;
net.trainParam.goal=0.0001; %误差容量;
LP.lr=0.05 %学利率(步长)
LP.mc=0.8 %冲量参数
net=train(net,P_train,T_train) %网络训练
y1=sim(net,P_train) %训练结果
error1=y1-T_train;%训练误差
res1(i)=norm(error1)%训练误差范围
y2=sim(net,P_test)%测试结果
error2=y2-T_test;%测试误差
res2(i)=norm(error2)%测试误差范围
end
亲,你最好把所有的程序完整的发下来,
我复制后P未定义,你p变量里面只有11个数,那里来的P(:,12)啊.
另外,你里面还有T_train,这个变量是什么~
各种未定义啊.