MATLAB 程序决策结构:if-else、switch 与嵌套用法全解析
决策结构根据条件控制程序流向。MATLAB 提供以下语句:
| # | 语句类型 | 说明 |
|---|---|---|
| 1 | if ... end | 单分支,条件真执行 |
| 2 | if ... else ... end | 双分支,假执行 else 块 |
| 3 | if ... elseif ... else ... end | 多条件链,依次判断 |
| 4 | 嵌套 if | if/elseif 内部再含 if |
| 5 | switch ... case ... otherwise ... end | 变量与多值匹配,支持字符串 |
| 6 | 嵌套 switch | switch 内部再含 switch |
语法模板
if-end
if condition
statements
end
if-else-end
if condition
statements1
else
statements2
end
if-elseif-else-end
if cond1
stmts1
elseif cond2
stmts2
else
stmts3
end
switch-case
switch expr
case val1
stmts1
case {val2, val3} % 多值匹配用元胞数组
stmts2
otherwise
stmts3
end
关键点
- 条件表达式结果为标量逻辑值(非零标量视为 true)
switch使用==比较,字符串用strcmp语义- 无
break,匹配到即执行对应块并退出整个 switch - 嵌套层级过深建议重构为函数
示例:成绩等级判定
score = 85;
if score >= 90
grade = 'A';
elseif score >= 80
grade = 'B';
elseif score >= 70
grade = 'C';
else
grade = 'D';
end
disp(['Grade: ', grade]); % Grade: B
示例:星期名称
day = 3;
switch day
case 1, name = 'Monday';
case 2, name = 'Tuesday';
case 3, name = 'Wednesday';
case 4, name = 'Thursday';
case 5, name = 'Friday';
case {6,7}, name = 'Weekend';
otherwise, name = 'Invalid';
end
MATLAB
- 以强大分析赋能高端制造决策:从描述到处方的进阶之路
- 优化数据摄入,驱动更智能决策
- C 语言条件语句精讲:IF、IF-ELSE 与嵌套 IF-ELSE 完全指南
- MATLAB 入门指南:矩阵实验室的核心能力与应用领域全景
- MATLAB 变量深度解析:矩阵本质、赋值、多重赋值、查看与清理、长赋值、格式控制、向量创建
- MATLAB 常用命令速查:会话管理、系统操作、输入输出、矩阵数组、绘图可视化
- MATLAB 数据类型完全指南:15 种基本类型、转换函数与类型判断函数速查表
- MATLAB 运算符大全:矩阵/数组算术、关系、逻辑、位运算、集合运算详解
- MATLAB 矩阵核心操作:创建、索引引用、子矩阵提取、行列删除、拼接与基本运算
- MATLAB 多维数组与特殊数组完全指南
- MATLAB 数值类型详解:存储、转换与范围查询
- MATLAB 字符串完全指南:创建、拼接、元胞数组与常用函数