Matlab switch語句

2019-10-16 23:16:08

switch塊有條件地執行來自多個選擇的一組語句。每個選擇由case語句指定。

評估的switch_expression是一個標量或字串。

評估的case_expression是標量,標量或字串的字串或單元格陣列。

switch塊測試每種情況,直到其中一種情況為真(true)。以下情況是真的 -

  • 對於數位,eq(case_expression,switch_expression)
  • 對於字串,strcmp(case_expression,switch_expression)
  • 對於物件,支援eq(case_expression,switch_expression)
  • 對於單元格陣列case_expression至少有一個。

當情況(case)為真時,MATLAB會執行相應的語句,然後退出switch塊。

otherwise塊是可選的,並且僅在沒有case為真時執行。

語法

MATLAB中switch語句的語法是 -

switch <switch_expression>
   case <case_expression>
      <statements>
   case <case_expression>
      <statements>
      ...
      ...
   otherwise
      <statements>
end

例子

建立指令碼檔案並在其中鍵入以下程式碼 -

grade = 'B';
switch(grade)
    case 'A' 
        fprintf('Excellent!\n' );
    case 'B' 
        fprintf('Well done\n' );
    case 'C' 
        fprintf('Well done\n' );
    case 'D'
        fprintf('You passed\n' );

    case 'F' 
        fprintf('Better try again\n' );

    otherwise
        fprintf('Invalid grade\n' );
end

執行上面範例程式碼,得到以下結果 -

Well done