文档

开关情况下否则

执行几组语句中的一组

语法

开关switch_expression情况下case_expression语句情况下case_expression语句…否则语句结束

描述

例子

开关switch_expression、案例case_expression,最后计算表达式并选择执行几组语句中的一组。每个选择都是一个案例。

开关块测试每个case,直到其中一个case表达式为真。当:

  • 对数字的,case_expression==switch_expression

  • 对于字符向量,比较字符串(case_expressionswitch_expression) == 1

  • 类的对象金宝app情商函数,case_expression==switch_expression。重载程序的输出情商Function必须是一个逻辑值。

  • 对于单元格数组case_expression,则单元格数组的元素中至少有一个匹配switch_expression,如上所述,用于数字、字符向量和对象。

当一个case表达式为真时,MATLAB®执行相应的语句并退出开关块。

一个评估switch_expression必须是标量或字符向量。一个评估case_expression必须是标量、字符向量或标量或字符向量的单元格数组。

否则Block是可选的。MATLAB只在不为真情况下执行语句。

例子

全部折叠

根据在命令提示符处输入的值,有条件地显示不同的文本。

N =输入“输入一个数字:”);开关n情况下1 disp (“- 1”情况下0 disp (“零”情况下1 disp (“积极”否则disp (“其他值”结束

在命令提示符下,输入数字1。

积极的一个

重复密码并输入数字3。

其他值

根据的值确定要创建哪种类型的绘图plottype。如果plottype要么是“馅饼”“pie3”,创建一个三维饼状图。使用单元格数组来包含这两个值。

X = [12 64 24];plottype =“pie3”开关plottype情况下“酒吧”酒吧(x)标题(“条形图”情况下“馅饼”“pie3”} pie3(x) title(“饼图”否则警告(“意想不到的情节类型。没有情节可言。”结束

提示

  • 一个case_expression不能包含关系操作符,如<>以便与switch_expression。要检验不等式,使用If, elseif, else语句。

  • MATLAB开关语句不像C语言那样容易出错开关声明。如果是第一个情况下语句是真正的, MATLAB不执行另一个情况下语句。例如:

    结果= 52;开关(结果)情况下52 disp ('结果是52'情况下{52,78} disp('结果是52或78'结束
    结果是52
  • 在特定情况下定义代码所需的所有变量。因为MATLAB只执行任意的一个case开关语句中,在一种情况下定义的变量在其他情况下不可用。例如,如果您当前的工作空间不包含变量x,只有定义x可以使用它:

    开关选择情况下1 x = -pi:0.01:pi;情况下2%对x一无所知结束
  • MATLAB打破语句结束执行循环,但不结束开关声明。这种行为不同于打破开关在C。

扩展功能

另请参阅

|||

R2006a之前引入