clear all
close all
clc
P=[39.18,24.50,18.37,11.43,6.53;
33.66,2.97,33.17,27.72,2.48;
46.13,11.57,33.14,8.52,0.63;
40.26,25.11,18.61,16.02,0.00;
35.35,51.17,8.01,5.47,0.00;
0.98,43.83,26.80,28.39,0.00;
12.15,40.50,18.90,28.35,0.09;
14.71,12.56,12.44,60.29,0.00;
1.38,6.15,9.21,76.63,6.63;
11.31,21.83,11.24,53.14,2.46;
89.99,5.35,1.96,2.7,0.00;
17.01,13.76,3.07,39.57,26.59;
26.86,16.89,3.09,39.43,13.73;
11.18,41.92,21.41,15.51,10.25;
7.01,26.66,3.28,48.76,14.28]';
T=[1,0,0,0,0;1,0,0,0,0;
1,0,0,0,0;0,1,0,0,0;
0,1,0,0,0;0,1,0,0,0;
0,1,0,0,0;0,0,1,0,0;
0,0,1,0,0;0,0,1,0,0;
0,0,0,1,0;0,0,0,0,1;
0,0,0,0,1;0,0,1,0,1;
0,0,1,0,1]';
net=newff(minmax(P),[12,5],{'tansig','purelin'},'trainlm');
%
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%
layerWeights=net.LW{2,1}
layerbias=net.b{2}
% net=init(net);
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=1000;
net.trainParam.goal=1e-10;
[net,tr]=train(net,P,T);
%
inputWeights=net.IW{1,1};
inputbias=net.b{1};
%
layerWeights=net.LW{2,1};
layerbias=net.b{2};
P_test=[46.21 11.27 33.04 8.52 0.614;
41.12 32.51 14.45 8.36 0.52;
33.36 29.32 32.89 27.28 2.25;
45.86 34.97 8.25 7.43 0.31;
14.92 21.98 17.15 46.12 0.0;
0.872 43.18 27.14 26.88 0.0;
36.13 50.96 8.15 5.67 0.0;
37.98 30.85 7.57 23.01 0.0;
10.99 21.29 11.30 52.98 2.38;
0.958 16.01 2.89 58.01 1.16;
11.03 22.51 3.31 57.96 1.13;
15.68 21.87 10.98 53.22 2.53;
58.03 18.56 4.58 8.62 9.78;
86.89 6.48 5.28 1.13 0.0;
85.86 6.98 4.52 2.56 0.0]';
%pause
%7
A=sim(net,P_test);
%计算仿真误差
E=T-A;
SSE=sse(E)
%pause
%clc
%echo off