目录
矩阵的秩
先看一下矩阵的秩的定义,摘自百度百科。
MATLAB求解矩阵的秩:
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> rank(A)
ans =
2
矩阵A与B的和与差
相加和相减。相同维数的矩阵可以相加或相减。对如下矩阵:
>> A=[2 3;4 5;6 7]
A =
2 3
4 5
6 7
>> B = [1 0;2 3;0 4]
B =
1 0
2 3
0 4
>> A+B
ans =
3 3
6 8
6 11
>> A-B
ans =
1 3
2 2
6 3
矩阵的数乘
>> A=[2 3;4 5;6 7]
A =
2 3
4 5
6 7
>> 5*A
ans =
10 15
20 25
30 35
矩阵A与B的乘积
进行矩阵的乘积运算,第一个矩阵中的列数与第二个矩阵中的行数必须相等。
注意:矩阵相乘不满足交换定理。
>> A=[2 3;4 5;6 7];
>> B=[1 0 2;3 0 4];
>> A*B
ans =
11 0 16
19 0 28
27 0 40
如果第一个矩阵中的列数与第二个矩阵中的行数不相等相等,那么矩阵A与B相乘会报错。
MATLAB给出点乘的提示。矩阵的点乘满足交换律。
矩阵的点乘则必须满足:矩阵A点.*矩阵B,矩阵A和矩阵B的行数和列数必须相等(就是说矩阵A的行数等于矩阵B的行数,矩阵A的列数等于矩阵B的列数),方法是对应每个元素相乘,相乘得到的最终结果为和矩阵A和矩阵B相同维度的矩阵。
>> A=[2 3;4 5;6 7];
>> B = [1 0;2 3;0 4];
>> A.*B %即2=2*1,0=3*0,8=4*2
ans =
2 0
8 15
0 28
叉乘和点乘是两种不同的运算。
点乘,也叫数量积。结果是一个向量在另一个向量方向上投影的长度,是一个标量。
叉乘,也叫向量积。结果是一个和已有两个向量都垂直的向量。
(4 条消息) 点乘和叉乘的区别是什么? - 知乎 (zhihu.com)(4 条消息) 点乘和叉乘的区别是什么? - 知乎 (zhihu.com)
转置矩阵
A =
1 2 3
4 5 6
7 8 9
>> B=A'
B =
1 4 7
2 5 8
3 6 9
伴随矩阵
运用adjoint()函数,意为伴随。
A=[1 2;3 4]
A =
1 2
3 4
>> adjoint(A)
ans =
4.0000 -2.0000
-3.0000 1.0000
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> adjoint(A)
ans =
-3.0000 6.0000 -3.0000
6.0000 -12.0000 6.0000
-3.0000 6.0000 -3.0000
对于可逆矩阵或非奇异矩阵,可采用下面这种方法:
>> A=[1 3;1 2];
>> inv(A)*det(A)
ans =
2 -3
-1 1
可逆矩阵:
根据线性代数矩阵的一些重要性质:
那么可逆矩阵指的都是n阶方阵且行列式不等于0
>> A=[1 3;1 2];
>> inv(A)
ans =
-2 3
1 -1
>> A*ans
ans =
1 0
0 1
或者采用这种方法:
>> A=[1 3;1 2]
A =
1 3
1 2
>> A^-1
ans =
-2 3
1 -1
某些情况下会出现行列式为零,竟然可以求解逆矩阵?的情况,原因一般是inv()函数算法精度不够的问题;亦或者是行列式结果看起来为零未必真为零,可能只是很小的数值,比如在command window里默认只显示了几位小数,看起来结果是0.0000(MATLAB默认显示四位小数),但实际上并不一定为0。
>> a = [1,2;3 4];
b = [3,4;5,6];
>> a*inv(b)
ans =
2.0000 -1.0000
1.0000 0.0000
>> a/b %实际工程应用中一般选择这种方式,运算结果更加准确
ans =
2.0000 -1.0000
1.0000 -0.0000
简化行阶梯(行最简)矩阵
A =
1 2 3
4 5 6
7 8 9
>> B=rref(A)
B =
1 0 -1
0 1 2
0 0 0
对于非方阵也可以用rref()命令简化行阶梯矩阵;
>> A = magic(3);
A(:,4) = [1; 1; 1]
A =
8 1 6 1
3 5 7 1
4 9 2 1
>> R = rref(A)
R =
1.0000 0 0 0.0667
0 1.0000 0 0.0667
0 0 1.0000 0.0667
矩阵A的n次方
>> A=[0 0 0;2 0 0;1 3 0]
A =
0 0 0
2 0 0
1 3 0
>> A^2
ans =
0 0 0
0 0 0
6 0 0
>> A^3
ans =
0 0 0
0 0 0
0 0 0
我是小韩每天进步一点点,一名研0的研究生,刚开始写博客。希望和大家多多交流,一起进步!
求朋友点赞、收藏、关注哈,鼓励一下新人博主,或者提出建议!