p=[ 35.20000076 170 9.699999809;
35.20000076 137 9.699999619;
34.09999847 155 9.699999809;
35.20000076 178 9.899999619;
35.09999847 176 9.800000191;
35.20000076 168 9.699999809;
35.20000076 170 9.800000191;
3.9 96 7.800000003;
0 0 0.200000003;
0 0 0.200000003;
12.69999981 177 9.800000191;
26.29999924 196 13.30000019;
35.20000076 187 14.80000019;
35.09999847 182 15.69999981;
35.20000076 171 15.39999962;
35.20000076 164 13.30000019;
35.20000076 171 10.30000019;
35.20000076 170 10.89999962;
35.20000076 167 10.30000019;
37.09999847 180 9.699999809 ];
t=[0 0 0;1 0 0;1 0 0;0 0 0;0 0 0;1 0 0;0 0 0;0 0 1;0 0 1;0 0 1;1 0 0;0 0 1;0 0 1;0 0 1;0 0 1;0 0 1;0 0 0;0 0 0;0 0 0;0 1 0];
for i=1:20
p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));%数据归一化
end
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1; 0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1]; %输入向量的最大、最小值
net=newff(threshold,[31,1],{'tansig','logsig'},'trainlm');%创建一个BP网络
net.trainParam.epochs=10000; %训练次数
net.trainParam.goal=0.01;%训练目标
LP.lr=0.1;%学习速率
net=train(net,p,t); %网络训练
p_test=[ 37.09999847 180 9.699999799;
31.09999847 160 9.600000381;
35.29999924 166 12.10000038;
35.20000076 170 10.89999962];
for i=1:4
p_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:)));
end
Y=sim(net,p_test);