通常這個功能應該給我值1,2,3或4。但是當我使用它,我得到0,1或2。你能幫我知道在哪裏問題:功能的意外結果在MATLAB
function Vecteur_retour = var_Test(Test)
AA = Test;
var_Test = zeros(1,2000);
for i=3:1:2000
if AA(i)<=AA(i-1) && AA(i-1)<=AA(i-2)
var_Test(i)=1;
else
if AA(i)<=AA(i-1) && AA(i-1)>AA(i-2)
var_Test(i)=2;
if AA(i)>AA(i-1) && AA(i-1)<=AA(i-2)
var_Test(i)=3;
else
if AA(i)>AA(i-1) && AA(i-1)>AA(i-2)
var_Test(i)=4;
end
end
end
end
end
Vecteur_retour = var_Test;
或者更好的是,使用['elseif'(http://www.mathworks.com/help/techdoc/ref/elseif.html)關鍵字。 –
沒錯,試圖保持代碼儘可能地相似OP的,使他們能夠看到的錯誤。 –
@克里斯A. var_Test情形:(i)= 3和var_Test(ⅰ)= 4,存在。 var_Test(i)= 0的情況不存在。所以代碼有問題 – bzak