MATLAB运算符优先级一览表

MATLAB 在执行含有关系运算和逻辑运算的数学运算时,同样遵循一套优先级原则。原则规定:MATLAB 首先执行具有较高优先级的运算,其次执行具有较低优先级的运算;如果两个运算的优先级相同,则按从左到右的顺序执行。

一般情况下,在一个表达式中,算术运算符优先级最高,其次是关系运算符,最后是逻辑运算符。如果需要,可以通过括号来改变运算顺序。

MATLAB 中具体的运算符优先级排列如下表所示。

MATLAB 运算符优先级一览表
优先级 运算符 优先级高低
1 圆括号 ( )
2 矩阵转置和乘方:转置(.')、共轭转置(')、乘方(.^)、矩阵乘方(^)
3 一元加法(+)、—元减法(-)、取反(~)
4 乘法(.*)、矩阵乘法(*)、右除(./)、左除(.\)、矩阵右除(/)、矩阵左除(\)
5 加法(+)、减法(-)、逻辑非(~)
6 冒号运算符(:)
7 小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)、不等于(~=)
8 逐元素逻辑与(&)
9 逐元素逻辑或(|)
10 避绕式逻辑与,或者捷径逻辑与(&&)
11 避绕式逻辑或,或者捷径逻辑或(||)

用过其他编程语言的用户可以知道,上表中的优先级顺序与大多数计算机编程语言基本相似。用户可以使用括号任意改变上表的运算优先级顺序,但同一级括号内部仍遵循上表中的优先级顺序。

可以利用下面的代码验证逻辑与&和逻辑或|的优先级:
>> 4|2&1
ans =
    1

>> 5|(3&2)
ans =
    1