MATLAB の `SWITCH` ステートメントの使い方を説明せよ
MATLABのSWITCH文は、各ケースごとに異なるコードブロックを実行します。それは複数のif-else文を置き換えるために使用でき、コードをより簡潔で読みやすくします。SWITCH文の基本的な使用方法は次のとおりです。
switch expression
case caseExpression1
codeBlock1
case caseExpression2
codeBlock2
...
case caseExpressionN
codeBlockN
otherwise
codeBlockDefault
end
expressionは比較したい式で、caseExpressionはexpressionと比較する値または式です。expressionがcaseExpressionのいずれかと等しい場合、対応するcodeBlockが実行されます。どのcaseExpressionともexpressionが等しくない場合は、otherwiseの後のcodeBlockDefault(省略可能)が実行されます。
caseExpressionは、switch文で、値、変数、式、カンマ区切りの複数の値を取ることができます。例えば:
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
上の例のように、変数xの値によって動作するコードブロックは違います。
SWITCH文では、caseやotherwise以降のコードブロックは、1行でも複数行でも良く、インデントで所属するコードブロックを指定します。また、caseとotherwiseの並び順が非常に重要で、expressionと等しいcaseExpressionが最初にある場合のみ実行され、それ以外は無視されます。