?? 11.m
字號:
% 定義樣本;
t=0:0.01:10;
y=randn(size(t));
yn=sin(y);
p=y(1:30)
t=yn(1:30)
% 初始化Bp網絡;
%其中,p為輸入量,隱層節點數為4,輸出層節點數為1;
% tansig和purelin分別為隱層和輸出層的變換函數;
%這樣可得隱層和輸出層的初始權值和閾值w1,b1,w2,b2。
[w1,b1,w2,b2]=initff(p,4,'tansig',1,'Purelin');
% BP網絡的訓練;
%利用BP學習規則訓練前向網絡,使其完成函數逼近,矢量分類和模式識別,選擇訓練參數印
%并指示如何進行訓練。
%一旦訓練達到最大的訓練次數或網絡誤差平方和降低到誤差之下,都會使網絡停止學習。
tp(1)=10; %指定兩次更新顯示間的訓練次數;
tp(2)=1000; %指定訓練的最大次數;
tp(3)=0.01; %誤差平方和指標;
tp(4)=0.01; %指定學習速率,即權值和閾值更新的比例;
tp=[tp(1) tp(2) tp(3) tp(4)];
[w1,b1,w2,b2,te,tr]=trainbp(w1,b1,'tansig',w2,b2,'Purelin',p,t,tp);
% 畫出誤差變化曲線
figure(1);
plot([0:1:te],tr);
% 計算網絡仿真輸出;
a=simuff(p,w1,b1,'tansig',w2,b2,'Purelin');
figure(2);
plot([0:0.01:2.9],t,'+',[0:0.01:2.9],a,'-');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -