?? psodecod.m
字號:
% 將遺傳算法的編碼分解為BP網絡所對應的權值、閾值
function [W1, B1, W2, B2, val]=psodecod(x)
[P,T,R,S1,S2,Q,S]=nninit;
% 前R*S1個編碼為W1
for i=1:S1,
for k=1:R,
W1(i,k)=x(R*(i-1)+k);
end
end
% 接著的S1*S2個編碼(即第R*S1個后的編碼)為W2
for i=1:S2,
for k=1:S1,
W2(i,k)=x(S1*(i-1)+k+R*S1);
end
end
% 接著的S1個編碼(即第R*S1+S1*S2個后的編碼)為B1
for i=1:S1,
B1(i,1)=x((R*S1+S1*S2)+i);
end
% 接著的S2個編碼(即第R*S1+S1*S2+S1個后的編碼)為B2
for i=1:S2,
B2(i,1)=x((R*S1+S1*S2+S1)+i);
end
B11=B1;
B22=B2;
for i=1:Q-1
B11=[B11 B1];
B22=[B22 B2];
end
% 計算S1與S2層的輸出
A1=tansig(W1*P-B11);
A2=purelin(W2*A1-B22);
% 計算誤差平方和
val=sumsqr(T-A2);
% 遺傳算法的適應值
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -