主要内容

na_0022:Switch/Case 语句的推荐构型

规范来源

控制算法建模规范 - 使用 MATLAB®、Simulink® 和 Stateflow®

子 ID 建议

  • NA-MAAB - a

  • JMAAB - 不支持

MATLAB 版本

全部

规则

子 ID a

Switch/Case 语句应使用常量值作为 Case 参量。

输入变量不得在 Case 参量中使用。

自定义参数

不适用

示例 - 正确
function outVar = NA_0022_Pass(SwitchVar)
%#codegen
    switch SwitchVar
        case Case_1_Parameter % Parameter
            outVar = 0;
        case NA_0022.Case_2 % Enumerated Data Type    
            outVar = 2;
        otherwise
            outVar = 10;
    end
end
示例 - 不正确
function outVar = NA_0022_Fail(Case_1,Case_2,Case_3,SwitchVar)
%#codegen
    switch SwitchVar
        case Case_1
            outVar = 1;
        case Case_2
            outVar = 2;
        case Case_3
            outVar = 3;
        otherwise
            outVar = 10;
    end
end

理由

子 ID a:

  • 提高模型仿真和可测试性。

  • 可能无法进行代码生成。

验证

模型顾问检查:检查 Switch/Case 语句的推荐构型的使用 (Simulink Check)

上次更改

R2020a

另请参阅

版本历史记录

在 R2020a 中推出