일반적으로이 함수는 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와 가능한 유사하게 코드를 유지하려고했습니다. –
@ Chris A. var_Test cases (i) = 3 및 var_Test (i) = 4, 존재합니다. case var_Test (i) = 0이 존재하지 않습니다. 코드에 문제가 있습니다. – bzak