矩阵变换
对角阵
- 研究对角阵
-
分类
对角矩阵:对角线上有非0元素的矩阵
数量矩阵:对角线上元素相等的矩阵
单位矩阵:对角线上元素都为1的矩阵 -
提取矩阵的对角线元素
- diag(A):提取矩阵A主对角线元素,产生一个列向量
- diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量
主对角线往上为k=1 ~ n条对角线,往下为k=-1 ~ -n条对角线
>> diag(1:5) ans = 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5 >> diag(1:5,2) %主对角线向上第2条对角线 ans = 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-
构造对角矩阵
- diag(V):以向量V为主对角线元素,产生对角矩阵
- diag(V,k):以向量V为第k条对角线元素,产生对角矩阵
>> V = [2,3,4,7,1,9,6] %定义一个行向量 V = 2 3 4 7 1 9 6 >> diag(V) ans = 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 6 >> diag(V,2) ans = 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-
实现一个矩阵每行依次乘以对角阵对应行的元素:A*V(A:普通矩阵;V:对角阵)
-
- 三角阵
- 上三角阵和下三角阵
- 上三角阵:矩阵对角线以下的元素全为0的矩阵
- 下三角阵:矩阵对角线以上的元素全为0的矩阵
- 求上三角阵:triu函数
- triu(A):提取矩阵A的主对角线及以上的元素
- triu(A,k):提取矩阵A的第k条对角线及以上的元素
- 求下三角阵:tril函数(用法与triu函数相似)
- 上三角阵和下三角阵
矩阵的转置
- 矩阵的转置:第一行变成第一列,类推
- 转置运算符:小数点后加单引号’.’’
- 共轭转置,其运算符是单引号’’’,在转置的基础上还要去每个数的复共轭
>> A = [1,3;3+4i,1-2i]
A =
1.0000 + 0.0000i 3.0000 + 0.0000i
3.0000 + 4.0000i 1.0000 - 2.0000i
>> A.'
ans =
1.0000 + 0.0000i 3.0000 + 4.0000i
3.0000 + 0.0000i 1.0000 - 2.0000i
>> A'
ans =
1.0000 + 0.0000i 3.0000 - 4.0000i
3.0000 + 0.0000i 1.0000 + 2.0000i
矩阵的旋转
rot90(A,k):将矩阵A逆时针旋转90°的k倍,k为1是可省略
矩阵的翻转
- fliplr(A):对矩阵A实施左右翻转
- flipud(A):对矩阵A进行上下翻转
%验证5阶魔方矩阵主对角线和副对角线的元素和相等
>> A = magic(5);
>> B = diag(A);
>> sum1 = sum(B)
sum1 =
65
%上下翻转
>> C = flipud(A);
>> D = diag(C);
>> sum2 = sum(D)
sum2 =
65
矩阵的求逆
- 概念
- 对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I(I为单位矩阵),则称B为A的逆矩阵,A也是B的逆矩阵
- 到底什么是逆矩阵
- 比如2的倒数是1/2,逆矩阵也是这样A的逆矩阵可以表示成A^-1
- 为什么不是1/A,因为矩阵不能被除
- 由于
2
×
1
/
2
=
1
/
2
×
2
=
1
2×1/2=1/2×2=1
2×1/2=1/2×2=1,那么矩阵也是类似的
- 例1:一组人乘坐巴士旅行,每名儿童3美元,成人3.20美元,总计118.40美元。他们乘火车以每名儿童3.50美元和每名成人3.60美元,共135.20美元。
- 可以得到:
* 根据 X A = B XA=B XA=B得 X = B X=B X=BA^-1
所以又有:
结果是儿童16人,成人22人
- 可以得到:
- 比如2的倒数是1/2,逆矩阵也是这样A的逆矩阵可以表示成A^-1
- inv函数
- inv(A):求方阵A的逆矩阵
- 例2:求下列方程组
>> A = [1,2,3;1,4,9;1,8,27]; >> B = [5,-2,6]; >> X = inv(A)*B X = 23.0000 -14.5000 3.6667
- 例2:求下列方程组
- inv(A):求方阵A的逆矩阵