本文概述
- 句法
- Switch语句流程图
- 例1
- 例2
- 如果我们要根据一组预定义的规则测试相等性, 那么switch语句可以替代if语句。
switch switch_expression case case_expression1Statements case case_expression2Statements case case_expressionNStatements otherwiseStatementsEnd
Switch语句流程图
文章图片
以下是在MATLAB中使用switch的要点:
类似于if块, switch块会测试每种情况, 直到case_expression之一为true为止。评估为:
- case&switch必须等于数字ascase_expression == switch_expression。
- 对于字符向量, strcmp函数返回的结果必须等于1, 因为-strcmp(case_expression, switch_expression)== 1。
- 对于对象, case_expression == switch_expression。
- 对于单元阵列, case_expression中的单元阵列的至少一个元素必须与switch_expression匹配。
- switch语句不测试不等式, 因此case_expression不能包含诸如< 或> 之类的关系运算符以与switch_expression进行比较。
% program to check whether the entered number is a weekday or nota = input('enter a number : ')switchacase 1disp('Monday')case 2disp('Tuesday')case 3disp('Wednesday')case 4disp('Thursday')case 5disp('Friday')case 6disp('Saturday')case 7disp('Sunday')otherwisedisp('not a weekday')end
【MATLAB switch语句】输出
enter a number: 4Thursday
例2
% Program to find the weekday of a given date% take date input from keyboard in the specified formatd = input('enter a date in the format- dd-mmm-yyyy:', "s")% weekday function takes input argument% and returns the day number &
day name of the particular date.[dayNumber, dayName] = weekday(d, 'long', "local");
% use switch and case to display the output as per the entered inputswitch dayNumbercase 2x = sprintf('Start of the week-%s-:%d', dayName, dayNumber);
disp(x)case 3x = sprintf('%s:%d', dayName, dayNumber);
disp(x)case 4x = sprintf('%s:%d', dayName, dayNumber);
disp(x)case 5x = sprintf('%s:%d', dayName, dayNumber);
disp(x)case 6 x = sprintf('Last working day-%s-of the week:%d', dayName, dayNumber);
disp(x)otherwisedisp('weekend')end
推荐阅读
- MATLAB循环语句
- MATLAB嵌套if-else语句
- MATLAB if-elseif-else…end语句
- MATLAB if-else…end语句
- MATLAB if…end语句
- MATLAB格式化文字
- MATLAB运算符
- MATLAB数据类型
- MATLAB使用变量和数组