Matlab中switch, case, otherwise语句

您所在的位置:网站首页 c语言程序中case的用法 Matlab中switch, case, otherwise语句

Matlab中switch, case, otherwise语句

2024-06-07 21:15| 来源: 网络整理| 查看: 265

目录

语法

说明

示例

比较单个值

与多个值进行比较

switch, case, otherwise语句是执行多组语句中的一组。

语法 switch switch_expression case case_expression statements case case_expression statements ... otherwise statements end

提示

case_expression 不能包含关系运算符(例如 < 或 >)来与 switch_expression 进行比较。要测试不相等性,使用if,elseif,else语句。

MATLAB switch 语句不会像C语言的switch语句一样失效。如果第一个case语句为true,则 MATLAB 不会执行其他case语句。例如: result = 52; switch(result) case 52 disp('result is 52') case {52, 78} disp('result is 52 or 78') end result is 52

在该 case 内定义特定 case 中的代码所需要的变量。由于 MATLAB 仅执行任何 switch 语句的一个 case,因此一个 case 内定义的变量不适用于其他 case。例如,如果当前工作区不包含变量 x,则仅定义 x 的情况可以使用它:

switch choice case 1 x = -pi:0.01:pi; case 2 % does not know anything about x end

MATLAB break 语句会结束for或while循环的执行,但不结束 switch 语句的执行。此行为不同于 C 语言中 break 和 switch 的行为。

说明

switch switch_expression, case case_expression, end 计算表达式并选择执行多组语句中的一组。每个选项为一个 case。

switch 块会测试每个 case,直至一个 case 表达式为 true。case 在以下情况下为 true:

对于数字,case_expression == switch_expression。

对于字符向量,strcmp(case_expression,switch_expression) == 1。

对于支持 eq 函数的对象,case_expression == switch_expression。重载的eq函数的输出必须为逻辑值或可转换为逻辑值。

对于元胞数组 case_expression,元胞数组的至少一个元素与 switch_expression 匹配,如上述对数字、字符向量和对象的定义。

当 case 表达式为 true 时,MATLAB® 执行对应的语句,然后退出switch块。

计算的switch_expression必须为标量或字符向量。计算的case_expression必须为标量、字符向量或者标量或字符向量的元胞数组。

otherwise块是可选的。仅当没有 case 为 true 时,MATLAB 才会执行这些语句。

示例 比较单个值

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

n = input('Enter a number: '); switch n case -1 disp('negative one') case 0 disp('zero') case 1 disp('positive one') otherwise disp('other value') end

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

positive one

        重复执行该代码并输入数字 3。

other value 与多个值进行比较

        基于 plottype 的值确定要创建哪种类型的绘图。如果 plottype 为 'pie' 或 'pie3',则创建一个三维饼图。使用元胞数组包含两个值。

x = [12 64 24]; plottype = 'pie3'; switch plottype case 'bar' bar(x) title('Bar Graph') case {'pie','pie3'} pie3(x) title('Pie Chart') otherwise warning('Unexpected plot type. No plot created.') end

注意

        otherwise 语句可选。

        找到匹配的case后,执行完就自动退出,不必像c语言一样,必须用break结束。   



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3