作者yimean (溫柔殺手N  )
看板MATLAB
標題[問題] 我實在不懂我錯在哪裡?(關於矩陣維度)
時間Sat Oct 8 22:41:05 2005
這是他所出現的錯誤訊息
??? Attempted to access e(2,1); index out of bounds because size(e)=[1,1].
Error in ==> fnn7simu at 39
O21=exp(-(e(i,j)-m21)*(e(i,j)-m21)/(d21*d21));
以下是我的程式碼:
我會把他說說的地方用箭頭表示出來!
clear all;
close all;
WindSpeed=[ 5.8, 6.04, 6.28, 6.52, 6.76, 7, 7.12, 7.24, 7.36, 7.48,
7.6, 7.68, 7.76, 7.84, 7.92, 8, 8.2, 8.4, 8.6, 8.8, 9.36,
9.72, 10.08, 10.44, 10.8, 10.98, 11.16, 11.34, 11.52, 11.7];
fdata=[ 0.21, 0.21, 0.21, 0.24, 0.25, 0.26, 0.26, 0.26, 0.27, 0.27,
0.27, 0.28, 0.28, 0.28, 0.29, 0.29, 0.3, 0.3, 0.32, 0.33,
0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.39, 0.39, 0.4, 0.4, 0.41];
% initial value
m11=5.0;
m12=15.0;
m21=-1.0;
m22=1.0;
d11=3.5;
d12=3.5;
d21=0.8;
d22=0.8;
Training_Threshold=0.005;
fpredict=0.0;
eta=0.7;
for i=1
for j=1
e(i,j)=0;
w1(i,j)=1;
w2(i,j)=1;
end
end
%Progrm training
for j=1:1000
for i=1:31
%layer1
O11=exp(-(WindSpeed(i)-m11)*(WindSpeed(i)-m11)/(d11*d11));
O12=exp(-(WindSpeed(i)-m12)*(WindSpeed(i)-m12)/(d12*d12));
O21=exp(-(e(i,j)-m21)*(e(i,j)-m21)/(d21*d21));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^就是這裡!
O22=exp(-(e(i,j)-m22)*(e(i,j)-m22)/(d22*d22));
%layer2
phi1=O11*O21;
phi2=O12*O22;
%layer3
fpredict=w1(i,j)*phi1+w2(i,j)*phi2;
%get new e
e(i,j)=fpredict-fdata(i);
dw1=eta*e(i,j)*phi1;
dw2=eta*e(i,j)*phi2;
w1(i+1,j)=w1(i,j)-dw1;
w2(i+1,j)=w2(i,j)-dw2;
end
end
勞煩了各位先進!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.135.12.39