na_0022: Recommended patterns for Switch/Case statements
Guideline Publication
Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®
Sub ID Recommendations
NA-MAAB — a
JMAAB — Not supported
MATLAB Versions
All
Rule
Sub ID a
Switch/Case statements shall use constant
values for Case arguments.
Input variables shall not be used in Case arguments.
Custom Parameter
Not Applicable
Example — Correct
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
endExample — Incorrect
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
endRationale
Sub ID a:
Improves model simulation and testability.
Code generation may not be possible.
Verification
Model Advisor check: Check usage of recommended patterns for Switch/Case statements (Simulink Check)
Last Changed
R2020a
See Also
Version History
Introduced in R2020a