MATLAB中的SWITCH語句用于根據(jù)不同的情況執(zhí)行不同的代碼塊。它可以用來替代多個(gè)if-else語句,使代碼更加簡(jiǎn)潔和易讀。SWITCH語句的基本用法如下:
switch expression
case caseExpression1
codeBlock1
case caseExpression2
codeBlock2
...
case caseExpressionN
codeBlockN
otherwise
codeBlockDefault
end
其中,expression是需要進(jìn)行比較的表達(dá)式,caseExpression是與expression進(jìn)行比較的值或表達(dá)式。當(dāng)expression與某個(gè)caseExpression相等時(shí),對(duì)應(yīng)的codeBlock會(huì)被執(zhí)行。如果沒有任何caseExpression與expression相等,則執(zhí)行otherwise后的codeBlockDefault(可選)。
在SWITCH語句中,caseExpression可以是值、變量、表達(dá)式或者逗號(hào)分隔的多個(gè)值。例如:
switch x
case 1
disp('x is equal to 1');
case 2
disp('x is equal to 2');
case {3, 4, 5}
disp('x is equal to 3, 4 or 5');
otherwise
disp('x is not equal to any of the specified values');
end
在上述例子中,根據(jù)變量x的不同值,不同的codeBlock將會(huì)被執(zhí)行。
需要注意的是,在SWITCH語句中,case和otherwise后的codeBlock可以是一行代碼或多行代碼,需要使用縮進(jìn)來指示所屬的代碼塊。另外,case與otherwise語句的順序非常重要,只有第一個(gè)與expression相等的caseExpression會(huì)被執(zhí)行,其他的將會(huì)被忽略。