MATLAB - switch 语句


switch 块有条件地执行多个选择中的一组语句。每个选择都包含在一个案例陈述中。

求值的 switch_expression 是标量或字符串。

求值的 case_expression 是标量、字符串或者标量或字符串的元胞数组。

开关块测试每种情况,直到其中一种情况为真。以下情况为真:

  • 对于数字,eq(case_expression,switch_expression)

  • 对于字符串,strcmp(case_expression,switch_expression)

  • 对于支持eq(case_expression,switch_expression)的对象。

  • 对于元胞数组 case_expression,元胞数组的至少一个元素与 switch_expression 匹配,如上面针对数字、字符串和对象所定义的那样。

当情况为真时,MATLAB 执行相应的语句,然后退出 switch 块。

else块是可选的并且仅当没有 case 为 true 时才执行。

句法

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
matlab_decisions.htm