?? 9-8.m
字號:
%構建訓練樣本中的輸入向量p
p1=[-0.0909 0.4825 0.9580 0.6643 0.0350 -0.6224;
-0.1408 0.3944 0.9718 0.7183 0.0423 -0.6620;
-0.2500 0.1250 0.9688 0.5000 0.0000 -0.0625;
-0.2984 0.3037 -0.7801 0.0419 -0.3665 -0.8796];
p2=[-0.2727 -0.0909 0.9580 0.8601 0.0909 -0.9860;
-0.7324 0.0000 1.0000 0.9296 0.0141 1.0000;
0.5625 0.8125 0.6875 0.2812 0.1563 -0.5625;
-0.7277 -0.6073 0.0733 -0.3979 -0.4660 -0.4241];
p3=[0.1189 0.3706 0.6923 0.6643 -0.0350 0.4266;
-0.1127 0.3521 0.7324 0.7324 0.0423 -0.5070;
0.6250 0.0313 -0.3125 -0.0625 -0.5313 -0.1250;
-0.6021 -0.6073 0.2670 0.1361 -0.8482 -0.8586];
p=[p1 p2 p3];
%構建訓練樣本中的目標向量t
t1=[0 0 1 1 0 0;
0 0 0 0 0 0;
0 0 0 0 0 0;
1 1 0 0 1 1];
t2=[0 0 1 1 1 0;
0 1 0 0 0 0;
0 0 0 0 0 0;
1 0 0 0 0 1];
t3=[0 0 0 1 1 0;
0 0 0 0 0 1;
0 0 1 0 0 0;
1 1 0 0 0 0];
t=[t1 t2 t3];
%創建一個BP網絡,隱含層有9個神經元,傳遞函數為tansig
%中間層有4個神經元,傳遞函數為logsig
%訓練函數為trainlm
net=newff(minmax(p),[9,4],{'tansig','logsig'},'trainlm');
%訓練步數為50
%目標誤差為0.01
net.trainParam.epochs=50;
net.trainParam.goal=0.01;
net=train(net,p,t);
%預測2003年的蟲情
p_test=[0.0490 0.2587 0.7203 0.9301 0.3287 -0.6084
0.0000 0.3662 0.8028 0.9014 0.3239 -0.5211
-0.0937 -0.5313 -0.1875 0.9688 0.2813 -0.2813
-0.0995 1.0000 0.4346 -0.8691 -0.6702 -0.4346];
y=sim(net,p_test);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -