运算符
1.算术运算符
常用运算符:
加 +、 减 -、 乘、 除/、幂^、 点乘.、 点除./、 点幂.^
其中加减乘除好理解,即我们常用的。但是点乘点除点幂就不好理解了。
其实它们是对应了线性代数里的运算,点乘点除要求运算双方必须为相同维度的矩阵,点幂则要求一方为矩阵另一方为数值。
普通加减乘除是对于两个矩阵的操作,但是点乘点除则是令两个矩阵的每个元素相乘除。
举例如下:
>> A = ones(3)A =1 1 11 1 11 1 1>> B = eye(3)B =1 0 00 1 00 0 1>> C = A * BC =1 1 11 1 11 1 1>> D = A.*BD =1 0 00 1 00 0 1>> E = A/BE =1 1 11 1 11 1 1>> F = A./BF =1 Inf InfInf 1 InfInf Inf 1
>> A = ones(3)A =1 1 11 1 11 1 1>> B = rand(3)B =0.6557 0.9340 0.74310.0357 0.6787 0.39220.8491 0.7577 0.6555>> C = A.^BC =1 1 11 1 11 1 1>> D = B.^AD =0.6557 0.9340 0.74310.0357 0.6787 0.39220.8491 0.7577 0.6555>> E = A^5E =81 81 8181 81 8181 81 81
另外是大量的函数运算:
- exp(x):求以e为底的x次幂
- log(x):
- log10(x)
- sqrt(x):x的平方根
- sin(x)
- cos(x)
- tan(x)
- asin(x)
- acos(x)
- atan(x)
- mod(a,b):取a/b的余数
- min(a,b)
- max(a,b)
- mean(x):找出x阵列的平均值
- median(x):找出x阵列的中位数
- sum(x)
- prod(x):计算x阵列的连乘值
- cumsum(x):计算x阵列的累计总和值
- cumprod(x):计算x阵列的累计连乘值
- sign(x):判断x的正负,返回值为±1或0
- rem(x,y):返回x/y的余数
- diff(x):x向量的差分
- sort(x):对x向量进行排序
- fft(x):x向量的离散傅里叶变换
- rank(x):x矩阵的秩
2.关系运算符
大于>、 小于<、 等于==、 大于等于>=、 小于等于<=、 不等于~=
注意区分“=”与“==”
3.逻辑运算符
逻辑运算符:
与或非:& | ~
逻辑运算函数:
- xor(x,y):异或运算。x==y,返回1;否则为0
- any(x):若向量x中值不全为零,返回1;否则为0
若矩阵x中任易一列不全为零,则该列返回值为1;否则为0
- all(x):若向量x中值全不为零,返回1;否则为0 若矩阵x中任易一列全不为零,则该列返回值为1;否则为0
4.运算优先级
MATLAB中具体的运算优先级如下表:
优先级 | 运算法则 |
1 | 括号:() |
2 | 转置与乘幂:’、 ^、 .^ |
3 | 一元加减运算与逻辑非:+、 -、 ~ |
4 | 乘除、点乘点除:*/ .* ./ |
5 | 冒号运算: : |
6 | 关系运算: >、 <、 >=、 <=、 ==、 ~= |
7 | 逐个元素的逻辑与:& |
8 | 逐个元素的逻辑或:| |
9 | 捷径逻辑与:&& |
10 | 捷径逻辑或:|| |
注:程序中建议采用括号分级,避免因优先级混乱造成错误
转载请注明:燕骏博客 » MATLAB自学笔记(六):运算符
赞赏作者微信赞赏支付宝赞赏