mp_0046: Usage of expressions in array indices
Since R2024b
Guideline Publication
Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®
Sub ID Recommendations
- NA-MAAB — a 
- JMAAB — a 
MATLAB Versions
All
Rule
Sub ID a
 Array indices shall not be used to calculate array numbers. However, arithmetic
            operations with end and the colon operator are
            exceptions.
Example — Correct
foo = rand(1, 10); k = 1; m = 2 * k - 1; foo(m) = 1; foo(end - 1) = 2;
Example — Incorrect
foo = rand(1, 10); k = 1; foo(2 * k - 1) = 1;
Rationale
Sub ID a:
- Calculating values before using them as indices to access array elements reduces readability. 
Verification
Model Advisor check: Check array indices (Simulink Check)
Last Changed
R2024b
Version History
Introduced in R2024b