目录
对角阵与三角阵
1、对角阵
(1)提取矩阵的对角线元素
(2)构造对角阵
2、三角阵
(1)上三角阵
(2)下三角阵
矩阵的转置与旋转
1、矩阵的转置
2、矩阵的旋转
3、矩阵的左右翻转
4、矩阵的上下翻转
矩阵的逆与伪逆
1、矩阵的逆
2、矩阵的伪逆
矩阵变换是指对一个矩阵进行某种运算与处理,其结果还是一个矩阵,包括求矩阵的对角阵、三角阵、转置矩阵、旋转矩阵、矩阵求逆等。
对角阵与三角阵
1、对角阵
在研究时,很多时候需要将矩阵的对角线元素提取出来形成一个列向量,而有时又需用一个列向量构造一个对角阵。
(1)提取矩阵的对角线元素
函数diag(A)用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。此外函数diag(A,k)用于提取矩阵A第k条对角线的元素,主对角线往上为正,主对角线往下为负。
>> A=[1,2,3;4,5,6]A =1 2 34 5 6>> D=diag(A)D =15>> D1=diag(A,1)D1 =26>> D2=diag(A,-1)D2 =4
(2)构造对角阵
V是具有m个元素的向量,diag(V)产生一个以V为主对角线的方阵。此外函数diag(V,k)产生一个以V为第k条对角线的方阵。
>> diag([1,2,3,4])ans =1 0 0 00 2 0 00 0 3 00 0 0 4>> diag(1:2,-1)ans =0 0 01 0 00 2 0>> diag(1:3,3)ans =0 0 0 1 0 00 0 0 0 2 00 0 0 0 0 30 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0
2、三角阵
(1)上三角阵
函数triu(A)用于产生矩阵A对应的上三角阵。函数triu(A,k)用于求矩阵A的第k条对角线以上的元素。
>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9>> triu(A)ans =1 2 30 5 60 0 9>> triu(A,1)ans =0 2 30 0 60 0 0
(2)下三角阵
函数tril(A)和tril(A,k)用于提取矩阵A对应的下三角阵。
>> tril(A)ans =1 0 04 5 07 8 9>> tril(A,-1)ans =0 0 04 0 07 8 0
矩阵的转置与旋转
1、矩阵的转置
转置运算符是小数点后面接单引号(.')
共轭转置运算符是单引号(')
>> A=[1,2,3;4,5,6;7,8,9]A =1 2 34 5 67 8 9>> A.'ans =1 4 72 5 83 6 9>> [1,2,5;6,8,4;-1,0,9].'ans =1 6 -12 8 05 4 9>> B=[2,3+4i;2-7i,i]B =2.0000 + 0.0000i 3.0000 + 4.0000i2.0000 - 7.0000i 0.0000 + 1.0000i>> B'ans =2.0000 + 0.0000i 2.0000 + 7.0000i3.0000 - 4.0000i 0.0000 - 1.0000i>> A'ans =1 4 72 5 83 6 9
2、矩阵的旋转
函数rot90(A,k)将矩阵A旋转90°的k倍,当k为1时,可以省略。
>> A=[57,19,38;-2,31,8;0,84,5]A =57 19 38-2 31 80 84 5>> rot90(A)ans =38 8 519 31 8457 -2 0>> rot90(A,2)ans =5 84 08 31 -238 19 57>> rot90(A,-1)ans =0 -2 5784 31 195 8 38
3、矩阵的左右翻转
函数fliplr(A)将矩阵A左右翻转,将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,以此类推
A =57 19 38-2 31 80 84 5>> fliplr(A)ans =38 19 578 31 -25 84 0
4、矩阵的上下翻转
函数flipud(A)将矩阵A上下翻转,将原矩阵的第一行和最后一行调换,第二行和倒数第二行调换,以此类推
A =57 19 38-2 31 80 84 5>> flipud(A)ans =0 84 5-2 31 857 19 38
矩阵的逆与伪逆
1、矩阵的逆
函数inv(A)用于求方阵A的逆矩阵
>> A=[1,-1,1;5,-4,3;2,1,1]A =1 -1 15 -4 32 1 1>> B=inv(A)B =-1.4000 0.4000 0.20000.2000 -0.2000 0.40002.6000 -0.6000 0.2000>> B*Aans =1.0000 0.0000 -0.0000-0.0000 1.0000 0.00000.0000 -0.0000 1.0000>> A*Bans =1.0000 0.0000 0.0000-0.0000 1.0000 0.0000-0.0000 0.0000 1.0000
2、矩阵的伪逆
如果矩阵A不是一个方阵,或者A是一个非满秩的方针时,矩阵A没有逆矩阵,但可以找到一个与A的转置A' 同型的矩阵B,使得
此时称矩阵B为矩阵A的伪逆,也称广义逆矩阵。
函数pinv(A)用于求矩阵A的伪逆
>> A=[0,0,0;0,1,0;0,0,1]A =0 0 00 1 00 0 1>> pinv(A)ans =0 0 00 1 00 0 1>> A=[3,1,1,1;1,3,1,1;1,1,3,1]A =3 1 1 11 3 1 11 1 3 1>> B=pinv(A)B =0.3929 -0.1071 -0.1071-0.1071 0.3929 -0.1071-0.1071 -0.1071 0.39290.0357 0.0357 0.0357