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が最初にある場合のみ実行され、それ以外は無視されます。

bannerAds