Matlab常用运算符包括:算术、关系、逻辑、位等
本节介绍常用运算符及矩阵,更多高级内容请使用help命令及上网查阅。
常用算术运算符:
+加法,如为矩阵大小必须一致
>> A = [1 2; 3 4] B = ones(2) A+B A = 1 2 3 4 B = 1 1 1 1 ans = 2 3 4 5 >> C = ones(3) % 不一致大小矩阵 A+C C = 1 1 1 1 1 1 1 1 1 Error using + Matrix dimensions must agree. % 报错 >> % 常规加法 a = 1 b = 2 a + b a = 1 b = 2 ans = 3
-减法,如为矩阵大小必须一致,操作与+一致。
*乘法,如为矩阵A*B,A的列数目必须与B行数一致。满足, 乘法规律为的元素为A矩阵的第行的每个元素与B矩阵的第j列每个元素乘积之和。举例来说:
A矩阵为2行3列矩阵:
A= [1,2,3;4,5,6]
B矩阵为3列3行矩阵:
B = [1,2,3;4,5,6;7,8,9]
那么C 为A*B的解,那么C的第一行一列元素计算方法如下:
A的第一行[1,2,3] B的第一列[1;4;7],他们每个元素相乘并累加
1*1+2*4+3*7 = 30,
C的第二行一列元素为A的第二行[4,5,6]与B第一列[1;4;7]元素相乘并累加得到
4*1+5*4+6*7=66,
依次类推,可以得到C最终等于
C = [30,36,42;66,81,96]
>> A =[1,2,3;4,5,6] B= [1,2,3;4,5,6;7,8,9] C=A*B A = 1 2 3 4 5 6 B = 1 2 3 4 5 6 7 8 9 C = 30 36 42 66 81 96
*也可以作为常规乘法运算:
>> A = 5 A = 5 >> B = 3 B = 3 >> C = A*B C = 15
.*点乘,元素按位相乘,矩阵大小必须一致
>> A = [1,2;3,4] B = [2,3;4,5] C =A .* B A = 1 2 3 4 B = 2 3 4 5 C = 2 6 12 20
/右除,对于标量的运算 a、b是两个标量,表示a除b,对于矩阵的运算,a、b是两个矩阵,a/b 表示矩阵a乘矩阵b的逆矩阵,与 a*inv(b) 一致。
首相我们看一下什么是逆矩阵,
例如求3阶可逆矩阵A的逆矩阵,首先做这样的一个矩阵
a11 a12 a13 1 0 0
a21 a22 a23 0 1 0
a31 a32 a33 0 0 1
(也就是 [原矩阵:单位矩阵] )
通过若干次初等行变换(“某行乘以一个数后加到另一行”、“某两行互换位置”、“某行乘以某一个数”,这三种以行做运算的方法),将上面的矩阵变为
1 0 0 b11 b12 b13
0 1 0 b21 b22 b23
0 0 1 b31 b32 b33
(也就是想办法把原来的A矩阵变成单位矩阵,变成这样的形式 [单位矩阵:B矩阵] )
这样B矩阵就是A矩阵的逆矩阵了。
以此类推到N阶可逆矩阵求逆矩阵。
>> A = [1,2;3,4] A = 1 2 3 4 >> B = [2,3;4,5] B = 2 3 4 5 >> A/B ans = 1.5000 -0.5000 0.5000 0.5000
./右点除,矩阵元素按位右除,标量与普通右除一致
>> A = [1,2;3,4] A = 1 2 3 4 >> B = [2,3;4,5] B = 2 3 4 5 >> A./B ans = 0.5000 0.6667 0.7500 0.8000
\左除,对于标量,C = A\B可以简单理解为B/A,对于矩阵可以理解为矩阵a的逆矩阵乘矩阵B,与 inv(A)*B 一致。
>> A = 4 A = 4 >> B = 20 B = 20 >> C = A\B C = 5 >> A = [1,2;3,4] A = 1 2 3 4 >> B = [2,3;4,5] B = 2 3 4 5 >> A\B ans = 0 -1 1 2
.\左点除,矩阵元素按位左除,标量与普通一致
>> A = [1,2;3,4] A = 1 2 3 4 >> B = [2,3;4,5] B = 2 3 4 5 >> C = A.\B C = 2.0000 1.5000 1.3333 1.2500
^ 幂运算,矩阵与标量都进行幂运算
>> A = ones(2) A = 1 1 1 1 >> A^2 ans = 2 2 2 2 >> B = 2 B = 2 >> B^2 ans = 4
.^点幂运算,矩阵按位幂运算,标量与普通^一致
>> A = ones(2) A.^2 A = 1 1 1 1 ans = 1 1 1 1
'转置矩阵,简单理解:行列互换
>> A=[1,2;3,4] A = 1 2 3 4 >> A' ans = 1 3 2 4
常用关系运算符:
关系运算符也可以用于标量和非标量数据。数组的关系运算符在两个数组之间执行逐个元素的比较,并返回相同大小的逻辑数组,如果为真,则元素设置为逻辑1(true),如果为假,则元素设置为逻辑0(false)。
<小于
<=小于等于
>大于
>=大于等于
==等于
~=不等于
>> 1<5 1<=5 A=[1,2] A<5 ans = 1 ans = 1 A = 1 2 ans = 1 1 >> 5>1 5>=1 A=[1,2] A>5 ans = 1 ans = 1 A = 1 2 ans = 0 0 >> 1==1 1==2 ans = 1 ans = 0 >> 1~=1 1~=2 ans = 0 ans = 1
常用位运算符:
&与运算
|或运算
~非运算
>> A = [1,1,0,1] A = 1 1 0 1 >> B =[1,1,1,0] B = 1 1 1 0 >> A&B ans = 1 1 0 0 >> ~A ans = 0 0 1 0 >> A|B ans = 1 1 1 1