主要内容

mp_0046:数组索引中表达式的使用

自 R2024b 起

规范来源

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

子 ID 建议

  • NA-MAAB - a

  • JMAAB - a

MATLAB 版本

全部

规则

子 ID a

数组索引不应用于计算数组编号。但是,带有 endcolon 运算符的算术运算是例外。

示例 - 正确
foo = rand(1, 10);
k = 1;
m = 2 * k - 1;
foo(m) = 1;
foo(end - 1) = 2;
示例 - 不正确
foo = rand(1, 10);
k = 1;
foo(2 * k - 1) = 1;

理由

子 ID a:

  • 先计算值,再将计算出的值用作索引来访问数组元素,这种方式会降低代码的可读性。

验证

模型顾问检查:检查数组索引 (Simulink Check)

上次更改

R2024b

版本历史记录

在 R2024b 中推出