Я сейчас работаю над фрагментом кода, и операторы if, elseif, else
не будут сотрудничать со мной.Это очень простой код, большинство из которых я определила просто:
K1 = 0.174532925;
K2 = 0.20943951;
y0 = [0.0 15.2161 0.0 0.0];
ieout = [];
if isempty(ieout)
if y0(1)>K1
ieout = [ieout 5];
elseif K1>y0(1)>-K1 && y0(2)<0
ieout = [ieout 1];
elseif -K1>y0(1)>-K2 && y0(2)<0
ieout = [ieout 2];
elseif -K1>y0(1)>-K2 && y0(2)>0
ieout = [ieout 3];
elseif K1>y0(1)>-K1 && y0(2)>0
ieout = [ieout 4];
end
end
Теперь мой вектор y0
содержит все zeroz
, кроме второй положительной позиции, так что это означает, что последнийelseif
оператор должен быть выполнен.Это не тот случай, вместо этого оператор перед последним выполняется, и мой вектор ieout
получает скалярный элемент 3
вместо 4
.
Это смущает меня, почему это происходит?