Matlab矩阵处理之二
二、矩阵变换
目录
对角阵
三角阵
矩阵的转置
矩阵的旋转
矩阵的翻转
矩阵求逆
1.对角阵
对角阵:只有对角线上有非零元素的矩阵;
数量矩阵:对角线上的元素相等的对角矩阵;
单位矩阵:对角线上的元素都为1的对角矩阵。
(1) 提取矩阵的对角线元素
diag(A):提取矩阵A主对角线元素,产生一个列向量;
diag(A,k):提取矩阵A第k条对角线的元素,产生一个列向量。
矩阵的对角线:与主对角线平行,往上为第1条、第2条、一直到第n条对角线,往下为第1条、-2条、一直到-n条对角线。主对角线为第0条对角线。
(2) 构造对角阵
diag(V):以向量 V为主对角线元素,产生对角矩阵。
diag(V,k):以向量 V为第k条对角线元素,产生对角矩阵。
2.三角阵
上三角阵:矩阵的对角线以下的元素全为零的矩阵;
下三角阵:对角线以上的元素全为零的矩阵。
(1)上三角矩阵
triu(A):提取矩阵A的主对角线及以上的元素。
triu(A,k):提取矩阵A的第k条对角线及以上的元素。
<< triu(ones(4),-1)
ans =
1 1 1 1
1 1 1 1
0 1 1 1
0 0 1 1
(2) 下三角矩阵
在MATLAB中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。
3.矩阵的转置
转置运算符是小数点后面接单引号(.');
共轭转置,其运算符是单引号('),它在转置的基础上还要取每个数的复共轭。
矩阵的转置:把源矩阵的第一行变成目标矩阵的第一列,第二行变成第二列,…,依此类推。
如果矩阵的元素是实数,那么转置和共轭转置的结果是一样的。
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
4.矩阵的旋转
rot90(A,k):将矩阵A逆时针方向旋转90º的k倍,当k为1时可省略。
A=[1,3,2;-3,2,1;4,1,2]
A =
1 3 2
-3 2 1
4 1 2
rot90(A)
ans =
2 1 2
3 2 1
1 -3 4
rot90(A,2)
ans =
2 1 4
1 2 -3
2 3 1
5.矩阵的翻转
对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依此类推。
fliplr(A):对矩阵A实施左右翻转;
flipud(A):对矩阵A实施上下翻转。
6.矩阵的求逆
对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I (I为单位矩阵),则称B为A的逆矩阵,当然,A也是B的逆矩阵;
inv(A):求方阵A的逆矩阵。