主要内容

开关,情况下,否则

执行语句的几组之一

语法

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

描述

例子

开关switch_expression、案例case_expression,最后评估一个表达式和选择几组的执行一个语句。每一个选择都是如此。

开关块测试每个盒子,直到其中一个表达式是正确的。一个案例是真实的时间:

  • 对数字的,case_expression= =switch_expression

  • 对特征向量,比较字符串(case_expression,switch_expression)= = 1

  • 支持的对象金宝app情商函数,case_expression= =switch_expression。的输出过载情商函数必须是一个逻辑值或可转换为一个逻辑值。

  • 对于一个单元阵列case_expression,至少一个单元阵列的元素匹配switch_expression对数字的上面定义,特征向量,和对象。

当一个表达式是正确的,MATLAB®执行相应的语句和退出开关块。

一个评估switch_expression必须是一个标量或特征向量。一个评估case_expression必须是一个标量,特征向量,或单元阵列的标量或特征向量。

否则块是可选的。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)标题(“饼图”)否则警告(出人意料的情节类型。没有阴谋。”)结束

提示

  • 一个case_expression不能包含关系运算符等<>对的比较switch_expression。为不平等,测试使用elseif,如果别的语句。

  • MATLAB开关语句失败不像C语言开关声明。如果第一个情况下语句是真正的MATLAB不执行情况下语句。例如:

    结果= 52个;开关(结果)情况下52 disp (“结果是52”)情况下{78}disp (“结果是52岁或78”)结束
    结果是52
  • 定义变量所需的所有代码在一个特定的情况下在这种情况下。由于MATLAB执行的只有一个开关声明、变量定义在一个案例中不能用于其他情况下。例如,如果您的当前工作空间不包含一个变量x,只有情况下定义x可以使用它:

    开关选择情况下1 x = -π:0.01:π;情况下2%不知道任何关于x结束
  • MATLAB打破语句执行结束循环,但不执行结束开关声明。这种行为是不同的行为打破开关在C。

扩展功能

版本历史

之前介绍过的R2006a

另请参阅

|||