Возможно, потому что вы никогда не достигнете случаев var_Test(i) = 3
или var_Test(i) = 4
.
У вас проблема с блоками if
и end
.Как у вас есть, случай 3 достигается только в том случае, если первый случай был достигнут первым, но они противоречивы.
Вы хотите код, похожий на.
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;
else % you forgot this else
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;
Тщательный отступ помог бы здесь.