資源簡介
基于BP神經網絡的函數逼近(不使用任何工具函數)
代碼片段和文件信息
%?基于BP神經網絡對非線性函數進行逼近
tic
clear?all
close?all
%初始化部分
%初始化學習參數
eta=0.3;
%?初始化權值矩陣
wij=2*rand(25)-1;
wjk=2*rand(51)-1;
%?初始化閾值
thetaj=2*rand(51)-1;
thetak=2*rand(1)-1;
%設定誤差標準
errstd=0.05;
errall=10;
xteach1=0:0.2*pi:2*pi;
xteach2=0:0.2*pi:2*pi;
for?p=1:11
????for?q=1:11
??????????%yteach(pq)=0.2*(sin(xteach1(q))+cos(xteach2(p)))+0.5;
??????????yteach(pq)=?sin(xteach1(p))*cos(xteach2(q));
????end
end
while?errall>=errstd??
????for?p=1:11
????????for?q=1:11
????????%取樣本
????????xt=[xteach1(p);xteach2(q)];
????????yt=yteach(pq);
????????
????????%計算各層的輸出,前向傳播
????????oi=xt;
????????netj=wij‘*xt;
????????oj=1./(1+exp(-(netj-thetaj)));
????????netk=wjk‘*oj;
????????ok=1./(1+exp(-(netk-thetak)));
????????y=ok;
????????
????????%計算各層誤差?后向傳播
????????deltak=(yt-y).*ok.*(1-ok);
????????deltaj=wj
- 上一篇:EKFUKFmatlab程序比較
- 下一篇:經典開環子空間辨識
評論
共有 條評論