for h=0:39
if h<10
disp('primi 10')
elseif 10<=h<20
disp('primi 20')
elseif 20<=h<30
disp('primi 30')
elseif 30<=h<40
disp('primi 40')
end
end
上面的簡單代碼是我嘗試在 MATLAB 中運行的代碼,但作為輸出,我得到了一些奇怪的東西,例如:
primi 10
primi 10
primi 10
primi 10
primi 10
%first 10 senteces are corrected
...
primi 10
primi 20
primi 20
primi 20
.....
%until the end of the loop
所以看起來matlab并沒有退出
elseif 10<=h<20 disp('primi 20')
陳述。事實上,前 20 次迭代得到了糾正,而其他的則沒有。我真的不知道如何糾正它。有什么建議么?
uj5u.com熱心網友回復:
您應該將“單數”條件與邏輯運算子結合起來,例如“elseif 10<=h && h<20”。在您的情況下,編譯器首先看到 10<=h 并將其決議為 True,然后繼續比較 True<20,這也是 True,因此所有內容都列印為 20。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470665.html