1. 算术运算符
MatLab 算术运算符有四则运算符和带点四则运算符。
运算符 | 运算法则 | 运算符 | 运算法则 |
---|---|---|---|
A B | A 与 B 相加(维度必须一致) | A-B | A 与 B 相减(维度必须一致) |
A*B | A 与 B 相乘(二者之一为标量或满足矩阵相乘条件) | A.*B | A 与 B 相应元素相乘(维度必须一致) |
AB | B 与 A 相除(A 为标量或满足 A 非奇异,AB=A−1BA backslash B = A^{-1}BAB=A−1B) | A.B | B 与 A 相应元素相除(维度必须一致) |
A/B | A 与 B 相除(B 为标量或满足 B 非奇异,A/B=AB−1A/B = AB^{-1}A/B=AB−1 | A./B | A 与 B 相应元素相除(维度必须相同) |
A^B | A 的 B 次幂(B 为标量) | A.^B | A 的每个元素的 B 次幂(B 为标量) |
A’ | 取 A 的共轭转置矩阵 | A.’ | 取 A 的转置矩阵 |
【注】MatLab 的算术运算本质上都可以看作是矩阵运算,即所有参与算术运算的变量都可以看作是矩阵;标量为 1×11 times 11×1 的矩阵。
2. 关系运算符
关系运算符 | 关系说明 | 关系运算符 | 关系说明 |
---|---|---|---|
< | 小于 | <= | 小于等于 |
> | 大于 | >= | 大于等于 |
== | 等于 | ~= | 不等于 |
【注】关系运算的结果为逻辑标量值,1 为真、0 为假。
3. 逻辑运算符
逻辑运算符 | 说明 |
---|---|
A & B | 逻辑与运算(二者之一为标量或矩阵 A、B 维度相同,对应元素做逻辑与运算) |
A | B | 逻辑或运算(二者之一为标量或矩阵 A、B 维度相同,对应元素做逻辑或运算) |
~A | 逻辑非运算(A 为标量或对矩阵 A 中每个元素做逻辑非运算) |
A && B | 先决与(运算规则同 & ;但当 A 为逻辑假时,就不再需要继续进行和 B 的逻辑与运算) |
A || B | 先决或(运算规则同 | ;但当 A 为逻辑真时,就不再需要继续进行和 B 的逻辑或运算) |
【注】逻辑运算的结果为逻辑标量值,1 为真、0 为假。MatLab 引入先决与和先决或的目的在于加速逻辑运算。在 MatLab 逻辑运算中,任何非零数均被当作逻辑真 1 处理,数值 0 被当作逻辑假 0 处理(和 C 语言一样)。
4. 其他运算符
运算符 | 说明 |
---|---|
A:B、A:k:B | 冒号运算符,用于产生 A 到 B 的行向量(前者默认步进为 1;后者指定步进为 k,k 为标量) |
附录
- 运算符优先级
优先级 | 运算符 |
---|---|
1 | ( ) |
2 | ’ 、.’ 、^ 、.^ |
3 | (正号)、-(负号)、~ |
4 | * 、.* 、/ 、./ 、 、. |
5 | 、- |
6 | : |
7 | < 、<= 、>= 、> 、== 、~= |
8 | & |
9 | | |
10 | && |
11 | || |