对角阵
对角阵:只有对角线上有非零元素的矩阵。
数量矩阵:对角线上的元素相等的对角矩阵。
单位矩阵:对角线上的元素都为1的对角矩阵。
提取矩阵的对角线元素
diag(A)
:提取矩阵A主对角线元素,产生一个列向量。 diag(A,k)
:提取矩阵A第k条对角线的元素,产生一个列向量。
构造对角阵
diag(V)
:以向量 V为主对角线元素,产生对角矩阵。 diag(V,k)
:以向量 V为第k条对角线元素,产生对角矩阵。
例2.2.1:
先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。
>> A = [7,0,1,0,5; 3,5,7,4,1; 4,0,3,0,2; 1,1,9,2,3; 1,8,5,2,9]
A =
7 0 1 0 5
3 5 7 4 1
4 0 3 0 2
1 1 9 2 3
1 8 5 2 9
>> D = diag(1:5)
D =
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
>> D*A #用一个对角阵左乘一个矩阵时,相当于用对角阵对角线的第1个元素乘以该矩阵的第一行,用对角阵对角线的第2个元素乘以该矩阵的第二行,……,依此类推。
ans =
7 0 1 0 5
6 10 14 8 2
12 0 9 0 6
4 4 36 8 12
5 40 25 10 45
思考:要将A的各列元素分别乘以对角阵的对角线元素,如何实现?
>> A = [7,0,1,0,5; 3,5,7,4,1; 4,0,3,0,2; 1,1,9,2,3; 1,8,5,2,9]
>> D = diag(1:5);
>> A*D #要将A的各列元素分别乘以对角阵的对角线元素,可以用一个对角阵右乘矩阵A。
ans =
7 0 3 0 25
3 10 21 16 5
4 0 9 0 10
1 2 27 8 15
1 16 15 8 45
三角阵
上三角阵:矩阵的对角线以下的元素全为零的矩阵。
下三角阵:对角线以上的元素全为零的矩阵。
上三角矩阵
triu(A)
:提取矩阵A的主对角线及以上的元素。 triu(A,k)
:提取矩阵A的第k条对角线及以上的元素。
(tri-,triangle;-u,up;-l,low)
例2.2.2:
>> triu(ones(4),-1)
ans =
1 1 1 1
1 1 1 1
0 1 1 1
0 0 1 1
下三角矩阵
在Matlab中,提取矩阵A的下三角矩阵的函数是tril,其用法与triu函数完全相同。
矩阵的转置
转置运算符是小数点后面接单引号(.')。
共轭转置,其运算符是单引号('),它在转置的基础上还要取每个数的复共轭。
例2.2.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
矩阵的转置:把源矩阵的第一行变成目标矩阵的第一列,第二行变成第二列,…,依此类推。
如果矩阵的元素是实数,那么转置和共轭转置的结果是一样的。
矩阵的旋转
rot90(A,k)
:将矩阵A逆时针方向旋转90º的k倍,当k为1时可省略。
例2.2.4:
>> 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
对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依此类推。
矩阵的翻转
对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依此类推。
fliplr(A)
:对矩阵A实施左右翻转 flipud(A)
:对矩阵A实施上下翻转。
(filp,翻转;lr,left-right;ud,up-down)
例2.2.5:
验证魔方阵的主对角线、副对角线元素之和相等。
>> A = magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> sum(diag(A)) #求出矩阵A的主对角线之和
ans =
65
>> sum(diag(fliplr(A))) #对矩阵A实施上下翻转或左右翻转得到矩阵B,这样A的副对角线就移到了B的主对角线
ans =
65
#5阶魔方阵的主对角线、副对角线元素之和相等,都为65。
矩阵求逆
对于一个方阵A,如果存在一个与其同阶的方阵B,使得 $AB=BA=I$ (I为单位矩阵),则称B为A的逆矩阵,当然,A也是B的逆矩阵。
inv(A)
:求方阵A的逆矩阵。
例2.2.6:
用求逆矩阵的方法解线性方程组。
$$\begin{cases} x+2y+3z=5\\[2ex]x+4y+9z=-2\\[2ex]x+8y+27z=6\\[2ex]\end{cases}$$
答案:
在线性方程组Ax=b两边各左乘A-1,得 x=A-1b。
>> 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
#方法二:有用右除
>> x = A\b
x =
23.0000
-14.5000
3.6667
标签:元素,矩阵,ans,Matlab,对角线,2.2,对角
From: https://www.cnblogs.com/crepuscule/p/17079716.html