主要内容

转变,,,,案子,,,,除此以外

执行几组语句之一

句法

转变switch_expression案子case_expression语句案子case_expression语句... 除此以外语句结尾

描述

例子

转变switch_expression, 案子case_expression, 结尾评估表达式并选择执行几组语句之一。每个选择都是一个情况。

转变块测试每种情况,直到案例表达式之一为真。案例是正确的:

  • 对于数字,case_expression==switch_expression

  • 对于角色向量,strcmp(case_expression,,,,switch_expression)== 1

  • 对于支持的对象万博1manbetx等式功能,case_expression==switch_expression。超载的输出等式函数必须是逻辑值或转换为逻辑值。

  • 对于单元格数组case_expression,至少一个单元阵列匹配的元素之一switch_expression,如上所述,对于数字,字符向量和对象。

当案例表达式为真时,matlab®执行相应的语句并退出转变堵塞。

评估switch_expression必须是标量或角色向量。评估case_expression必须是标量,字符矢量或标量矢量的单元格数组。

除此以外块是可选的。MATLAB仅在没有情况下才能执行语句。

例子

全部收缩

有条件地显示不同的文本,具体取决于在命令提示符下输入的值。

n =输入(“输入号码:”);转变n案子-1 disp(“负面”案子0 disp('零'案子1 disp(“积极的一个”除此以外disp(“其他值”结尾

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

积极的一个

重复代码并输入数字3。

其他值

确定根据价值创建哪种类型的图plottype。如果plottype或者是'馅饼'或者'pie3',创建一个3D饼图。使用单元格数组包含两个值。

x = [12 64 24];plotType ='pie3';转变plottype案子'酒吧'bar(x)标题('条状图'案子{'馅饼',,,,'pie3'} pie3(x)标题('饼形图'除此以外警告('意外的情节类型。没有创建图。结尾

尖端

  • 一种case_expression不能包括关系运营商,例如<或者>为了比较switch_expression。要测试不平等,请使用如果,elseif,否则语句。

  • matlab转变语句不会像C语言那样落下转变陈述。如果第一个案子声明是真的,matlab不执行另一个案子语句。例如:

    结果= 52;转变(结果)案子52 disp('结果是52'案子{52,78} disp('结果是52或78'结尾
    结果为52
  • 在特定情况下定义代码所需的所有变量。由于Matlab仅执行任何案例转变语句,在一种情况下定义的变量对于其他情况不可用。例如,如果您当前的工作区不包含变量X,只有定义的情况X可以使用它:

    转变选择案子1 x = -pi:0.01:pi;案子2%对x一无所知结尾
  • matlab休息声明结束执行为了或者尽管循环,但不会结束执行转变陈述。这种行为与行为不同休息转变在C.

扩展功能

版本历史记录

在R2006a之前引入

也可以看看

|||