运算符优先级
您可以构建使用算术运算符、关系运算符和逻辑运算符的任意组合的表达式。优先级别用来确定 MATLAB® 计算表达式时的运算顺序。处于同一优先级别的运算符具有相同的运算优先级,将从左至右依次进行计算。下表显示了 MATLAB 运算符的优先级规则,顺序从最高优先级别到最低优先级别:
圆括号
()
转置
(.')
、幂(.^)
、复共轭转置(')
、矩阵幂(^)
带一元减法
(.^-)
、一元加法(.^+)
或逻辑求反(.^~)
的幂,以及带一元减法(^-)
、一元加法(^+)
或逻辑求反(^~)
的矩阵幂。注意
尽管大多数运算符都从左至右运行,但
(^-)
、(.^-)
、(^+)
、(.^+)
、(^~)
和(.^~)
按从右至左顺序从第二个运行。建议您使用括号显式指定包含这些运算符组合的语句的期望优先级。一元加法
(+)
、一元减法(-)
、逻辑求反(~)
乘法
(.*)
、右除(./)
、左除(.\)
、矩阵乘法(*)
、矩阵右除(/)
、矩阵左除(\)
加法
(+)
、减法(-)
冒号运算符
(:)
小于
(<)
、小于或等于(<=)
、大于(>)
、大于或等于(>=)
、等于(==)
、不等于(~=)
按元素 AND
(&)
按元素 OR
(|)
短路 AND
(&&)
短路 OR
(||)
AND 和 OR 运算符的优先级
MATLAB 始终将 &
运算符的优先级指定为高于 |
运算符。尽管 MATLAB 通常按从左到右的顺序计算表达式,但表达式 a|b&c
按 a|(b&c)
形式计算。对于包含 &
和 |
组合的语句,比较好的做法是使用括号显式指定期望的语句优先级。
该优先级规则同样适用于 &&
和 ||
运算符。
覆盖默认优先级
可以使用括号覆盖默认优先级,如以下示例中所示:
A = [3 9 5]; B = [2 1 5]; C = A./B.^2 C = 0.7500 9.0000 0.2000 C = (A./B).^2 C = 2.2500 81.0000 1.0000