給定矢量x
,我想通過檢查x
的組件來創建矢量u0
。由於只有0 <= 0 < 1
是真的,並且由於0
是x
的第一個組成部分,所以新矢量u0
實際上應該看起來像[1, 0, 0, 0, 0, 0, 0, 0]
,但Matlab給了我一個只包含0
的矢量。我做錯了什麼?藉助for循環在Matlab中創建新矢量
x = [0, 1, 2, 3, 4, 5, 6, 7, 8];
u0 = [];
for i = 1:8
if (0 <= x(i) < 1)
u0(i) = 1;
else
u0(i) = 0;
end
end
'0 <= X(I)<1'相當於'(0 <= X( i))<1'。由於括號中的表達式對於您的輸入總是「真」,所以'true <1'總是評估爲'false' - 這就是爲什麼你會得到零。 –