Main Content

将 if-elseif-else 模式转换为 switch-case 语句

为作为 switch-case 语句的 if-elseif-else 逻辑生成代码

模型配置窗格: 代码生成 / 代码样式

描述

指定是否以 switch-case 语句的形式为 if-elseif-else 决策逻辑生成代码。

这种可读性优化基于单个模型进行,仅适用于:

  • Stateflow® 图中的流程图

  • Stateflow 图中的 MATLAB® 函数

  • 该模型中的 MATLAB Function 模块

设置

on (默认) | off

默认值: on

On

switch-case 语句的形式为 if-elseif-else 决策逻辑生成代码。

Off

在生成的代码中保留 if-elseif-else 决策逻辑。

示例

全部展开

比较当您将将 if-elseif-else 构型转换为 switch-case 语句设置为不同值时生成的代码中的逻辑模式。

下面是使用将 if-elseif-else 构型转换为 switch-case 语句默认值 off 生成的代码:

if (x == 1) {
       y = 1;
} else if (x == 2) {
       y = 2;
} else if (x == 3) {
       y = 3;
} else {
       y = 4;
}

下面是在将 if-elseif-else 构型转换为 switch-case 语句设置为 on 时生成的相同代码:

switch (x) {
     case 1:
       y = 1; break;
     case 2:
       y = 2; break;
     case 3:
       y = 3; break;
     default:
       y = 4; break;
}

推荐的设置

应用场景设置
调试无影响
可追溯性Off
效率On(执行,ROM),无影响 (RAM)
安全预警无影响

编程用法

参数:ConvertIfToSwitch
类型:字符向量
值:'on' | 'off'
默认值:'on'

版本历史记录

在 R2009b 中推出