MATLAB 中的條件語句
本教程將討論使用 MATLAB 中的條件語句定義程式碼執行的條件。
MATLAB 中的條件語句
與其他程式語言一樣,MATLAB 也提供了許多條件語句,如 if、if-else、if...else...if
、巢狀的 if...else
和 switch
語句。
首先,讓我們談談 if 語句。如果我們只希望程式碼在特定表示式上執行,我們可以使用 if 語句。
if 語句中的程式碼只有在條件為真時才會執行。要定義條件,我們可以使用算術和邏輯運算子。
算術運算子包括小於、大於、等於、小於和等於、大於和等於。邏輯運算子包括 and 運算子和 or 運算子。
邏輯運算子用於組合兩個或多個條件。如果我們希望程式碼僅在兩個或多個條件為真時執行,我們可以使用 and 運算子。
如果我們希望程式碼僅在一個或多個條件為真時執行,我們可以使用 or 運算子。例如,假設我們只想在值大於 0 時顯示文字 GreaterThan
。
請參閱下面的程式碼。
clc
clear
value1 = 5;
if(value1 > 0)
disp('GreaterThan')
end
輸出:
GreaterThan
在輸出中,因為值大於 0,所以顯示文字。
現在考慮,如果值不大於 0,我們希望顯示 LessThan
文字。在這種情況下,我們可以使用 if...else
語句。
請參閱下面的程式碼。
clc
clear
value1 = -5;
if(value1 > 0)
disp('GreaterThan')
else
disp('LessThan')
end
輸出:
LessThan
LessThan
文字顯示在輸出中,因為該值不大於 0。
在 if...else
語句的情況下,如果條件為真,則將執行 if 語句中的程式碼。如果為 false,則將執行 else
語句中的程式碼。
現在,考慮一下,在檢查該值是否大於或小於 0 後,我們還想檢查該值是否等於 5,如果該值等於 5,我們將顯示 ValueIsFive
文字。在這種情況下,我們可以使用巢狀的 if...else
語句。
請參閱下面的程式碼。
clc
clear
value1 = 5;
if(value1 > 0)
disp('GreaterThan')
if(value1 == 5)
disp('ValueIsFive')
end
else
disp('LessThan')
end
輸出:
GreaterThan
ValueIsFive
在輸出中,顯示兩個文字,因為輸入值大於零,而且它等於 5。如果我們只想檢查第一個語句是否為真,可以使用 if...else...if
語句。
例如,考慮一下,我們想要檢查一個值是否小於 0 以及它是否等於 -5。請參閱下面的程式碼。
clc
clear
value1 = -5;
if(value1 > 0)
disp('GreaterThan')
else if(value1 == -5)
disp('Value = -5')
else
disp('LessThan')
end
end
輸出:
Value = -5
我們也可以使用 switch
語句代替 if...else...if
語句的階梯。例如,讓我們將上面的程式碼轉換為 switch
語句。
請參閱下面的程式碼。
clc
clear
value1 = -5;
switch(value1)
case 0
disp('value = 0')
case 5
disp('value = 5')
case -5
disp('value = -5')
otherwise
disp('Default Value')
end
輸出:
value = -5
現在,讓我們使用邏輯運算子在 if 語句中定義多個條件。請參閱下面的程式碼。
clc
clear
value1 = 5;
if(value1 > 0 && value1 < 100)
disp('Value is between 0-100')
end
輸出:
Value is between 0-100
在程式碼中,只有當值在 0 到 100 之間時才會列印文字。
假設我們使用&&
運算子,if 語句中的程式碼只有在所有條件都為真時才會執行。假設我們使用||
運算子,如果一個或多個條件為真,則執行 if 語句中的程式碼。