matlab入门基础:矩阵操作(二)

系列笔记目录

第三节:矩阵操作(二),矩阵的分解

前言

矩阵分解是矩阵分析的一个重要工具。例如,求矩阵的特征值和特征向量、求矩阵的逆以及矩阵的秩等等,都需要用到矩阵分解。
在工程实际中,尤其是电子信息工程专业,在电子信息理论和控制理论中,矩阵分析尤其重要。

一、楚列斯基分解

楚列斯基分解是专门针对对称正定矩阵的分解,分解命令为chol

实例:分解正定矩阵

>> A=[1 1 1 1;1 2 3 4;1 3 6 10;1 4 10 20];%创建正定矩阵。
>> R=chol(A)

R =

     1     1     1     1
     0     1     2     3
     0     0     1     3
     0     0     0     1

二、LU分解

矩阵的LU分解又称为矩阵的三角分解,它的目的是将一个矩阵分解成一个下三角矩阵L和一个上三角矩阵U的乘积,即A=LU
实现LU分解的命令是lu

调用格式说明
[L,U]=lu(A)对矩阵A进行LU分解,其中L为单位下三角阵或其他变换形式,U为上三角阵。
[L,U,P]=lu(A)对矩阵A进行LU分解,其中L为单位下三角阵,U为上三角阵,P为置换矩阵,且满足LU=PA

实例:矩阵的三角分解

>> A=[1 2 3 4;5 6 7 8;2 3 4 1;7 8 5 6];
>> [L,U]=lu(A)

L =

    0.1429    1.0000         0         0
    0.7143    0.3333    1.0000         0
    0.2857    0.8333    0.2500    1.0000
    1.0000         0         0         0


U =

    7.0000    8.0000    5.0000    6.0000
         0    0.8571    2.2857    3.1429
         0         0    2.6667    2.6667
         0         0         0   -4.0000

>> [L,U,P]=lu(A)

L =

    1.0000         0         0         0
    0.1429    1.0000         0         0
    0.7143    0.3333    1.0000         0
    0.2857    0.8333    0.2500    1.0000


U =

    7.0000    8.0000    5.0000    6.0000
         0    0.8571    2.2857    3.1429
         0         0    2.6667    2.6667
         0         0         0   -4.0000


P =

     0     0     0     1
     1     0     0     0
     0     1     0     0
     0     0     1     0

在实际应用中,一般都使用第二种格式的lu分解命令,因为第一种不一定正确!

三、QR分解

矩阵A的QR分解也叫做正交三角分解,即将矩阵A表示成一个正交矩阵Q与一个上三角矩阵R的乘积形式。
矩阵A的QR分解命令是qr

调用格式说明
[Q,R]=qr(A)返回正交矩阵Q和上三角阵R,Q和R满足A=QR;若A为mn矩阵,则Q为mm矩阵,R为mn矩阵
[Q,R,E]=qr(A)求得正交矩阵Q和上三角阵R,E为置换矩阵使得R的对角线元素按绝对值大小降序排列,满足AE=QR
[Q,R]=qr(A,0)产生矩阵A的“经济型”分解,即若A为mn矩阵,且m>n,则返回Q的前n列,R为nn矩阵;否则该命令等价于[Q,R]=qr(A)
Q,R,E]=qr(A,0)产生矩阵A的“经济型”分解,E为置换矩阵使得R的对角线元素按绝对值大小降序排列,满足A(:,E)=QR
R=qr(A)对稀疏矩阵A进行分解,只产生一个上三角阵R,R为ATA的Cholesky分解因子,即满足RTR=ATA
R=qr(A,0)对稀疏矩阵A的“经济型”分解
[C,R]=qr(A,b)此命令用来计算方程组Ax=b的最小二乘解

实例:随机矩阵的QR分解

>> A=rand(4)%创建4阶随机数矩阵A

A =

    0.6787    0.6555    0.2769    0.6948
    0.7577    0.1712    0.0462    0.3171
    0.7431    0.7060    0.0971    0.9502
    0.3922    0.0318    0.8235    0.0344

>> [Q,R]=qr(A)

Q =

   -0.5144    0.4454    0.1909   -0.7075
   -0.5743   -0.6273   -0.5130   -0.1159
   -0.5632    0.4644   -0.0904    0.6775
   -0.2973   -0.4386    0.8320    0.1645


R =

   -1.3194   -0.8426   -0.4685   -1.0850
         0    0.4985   -0.2217    0.5367
         0         0    0.7055   -0.0872
         0         0         0    0.1211

还有两个命令:qrdeleteqrinsert,实际算法求解时会用到。

总结

除了,上面的比较重要的分解外,还有SVD分解,舒尔分解,海森伯格分解。有些算法时需要这些,到时候会讲解这些,遇到哪个讲哪个,会比较好一些。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2022年6月9日
下一篇 2022年6月9日

相关推荐