📄 9-4-1.m
字号:
%输入向量P和目标向量T
P=[0 0 0.62 0 0 0 0;
0.3915 0.4741 0.77 0.5 0.5 1 0.3158;
0.2835 0.5402 0.68 0 0.5 1 0.3158;
0.6210 1.0000 0.63 1 0.5 1 1.0000;
0.4185 0.4183 0.67 0.5 0 1 0.7368;
0.2160 0.4948 0.71 0 0 1 0.2632;
0.9990 0.0383 0.75 0.5 1 1 0.9474
0.5805 0.4925 0.71 0 0 0 0.3684;
0.0810 0.0692 0.76 0 0 0 0.0526;
0.3915 0.1230 0.98 0.5 0 0 0.8974]';
T=[0 0.5313 0.5938 0.9375 0.4375 0.5000 1.0000 0.3750 0.3125 0.6563];
%测试向量P_test和实际输出T_test
P_test=[0.0270 0.0742 0.62 0 0 0 0.2105;
0.1755 0.3667 0.77 0 0.5 1 0.7368;
0.4320 0.3790 0.68 0.5 0 1 0.2632;
0.4995 0.4347 0.63 0 0 1 0.6842;
0.6885 0.5842 0.67 0.5 0.5 1 0.4211;
0.5400 0.8038 0.71 0.5 0.5 1 0.5789;
0.1620 0.2565 0.75 0 0 1 0.4737]';
T_test=[0.1875 0.4062 0.4375 0.5938 0.6250 0.7187 0.3750];
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1];
a=[10 15 20];
for i=1:3
net=newff(threshold,[a(i),1],{'tansig','logsig'},'traingdx');
net.trainParam.epochs =1000;
net.trainParam.goal=0.001;
%init函数用于将网络初始化
net=init(net);
net=train(net,P,T);
Y(i,:)=sim(net,P_test);
end
figure;
%绘制误差曲线
%中间层神经元个数为10
plot(1:7,Y(1,:)-T_test);
hold on;
%中间层神经元个数为15
plot(1:7,Y(2,:)-T_test,'+');
hold on;
%中间层神经元个数为20
plot(1:7,Y(3,:)-T_test,'--');
hold off;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -