Matlab学习 矩阵分解,特征值, 特征向量

矩阵分解

是把一个矩阵分解为多个矩阵连乘的形式
在这里插入图片描述
其中cholinc()和luinc()函数是针对稀疏矩阵的

在这里插入图片描述

1. 对称正定矩阵的Cholesky分解

在这里插入图片描述

a=pascal(4) % pascal矩阵是对称正定的
e=eig(a) % 返回由a的特征值构成的向量
b=chol(a)
c=b'*b
a =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20
e =
    0.0380
    0.4538
    2.2034
   26.3047
b =
     1     1     1     1
     0     1     2     3
     0     0     1     3
     0     0     0     1
c =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20
>> 

2. 一般方阵的高斯消去法分解(LU分解)

在这里插入图片描述在这里插入图片描述

a=pascal(4) % pascal矩阵是对称正定的
[L1, U1]=lu(a)
b=L1*U1==a
[L2,U2,P]=lu(a)
c=L2*U2==P*a
Y=lu(a)
Y1=L2+U2-eye(size(a))
a =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20
L1 =
    1.0000         0         0         0
    1.0000    0.3333    1.0000         0
    1.0000    0.6667    1.0000    1.0000
    1.0000    1.0000         0         0
U1 =
    1.0000    1.0000    1.0000    1.0000
         0    3.0000    9.0000   19.0000
         0         0   -1.0000   -3.3333
         0         0         0   -0.3333
b =
  4×4 logical 数组
   1   1   1   1
   1   1   1   1
   1   1   1   1
   1   1   1   1
L2 =
    1.0000         0         0         0
    1.0000    1.0000         0         0
    1.0000    0.3333    1.0000         0
    1.0000    0.6667    1.0000    1.0000
U2 =
    1.0000    1.0000    1.0000    1.0000
         0    3.0000    9.0000   19.0000
         0         0   -1.0000   -3.3333
         0         0         0   -0.3333
P =
     1     0     0     0
     0     0     0     1
     0     1     0     0
     0     0     1     0
c =
  4×4 logical 数组
   1   1   1   1
   1   1   1   1
   1   1   1   1
   1   1   1   1
Y =
    1.0000    1.0000    1.0000    1.0000
    1.0000    3.0000    9.0000   19.0000
    1.0000    0.3333   -1.0000   -3.3333
    1.0000    0.6667    1.0000   -0.3333
Y1 =
    1.0000    1.0000    1.0000    1.0000
    1.0000    3.0000    9.0000   19.0000
    1.0000    0.3333   -1.0000   -3.3333
    1.0000    0.6667    1.0000   -0.3333
>> 

3. 舒尔分解

在这里插入图片描述在这里插入图片描述

a=pascal(4) % pascal矩阵是对称正定的
[U,S]=schur(a) % S矩阵对角线上是特征值
eig(a) % a的特征值构成的向量
U*U'  % 等于单位阵E
U*S*U'-a % 验证
a =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20
U =
    0.3087   -0.7873    0.5304    0.0602
   -0.7231    0.1632    0.6403    0.2012
    0.5946    0.5321    0.3918    0.4581
   -0.1684   -0.2654   -0.3939    0.8638
S =
    0.0380         0         0         0
         0    0.4538         0         0
         0         0    2.2034         0
         0         0         0   26.3047
ans =
    0.0380
    0.4538
    2.2034
   26.3047
ans =
    1.0000   -0.0000    0.0000   -0.0000
   -0.0000    1.0000    0.0000   -0.0000
    0.0000    0.0000    1.0000    0.0000
   -0.0000   -0.0000    0.0000    1.0000
ans =
   1.0e-14 *
         0    0.0222    0.0444         0
    0.0444         0    0.0888    0.0888
    0.0444    0.0888    0.4441         0
         0    0.0888    0.1776    0.3553
>> 

4. 矩形矩阵的正交分解

在这里插入图片描述在这里插入图片描述

a=pascal(4) % pascal矩阵是对称正定的
[q1, r1] = qr(a)
q1*r1
q1*q1'
b=[1 2 3;4 5 6;7 8 9;3 5 7];
[q2,r2]=qr(b)
rank_b=rank(b) % b的秩和r2的非零行相同
a =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20
q1 =
   -0.5000    0.6708    0.5000    0.2236
   -0.5000    0.2236   -0.5000   -0.6708
   -0.5000   -0.2236   -0.5000    0.6708
   -0.5000   -0.6708    0.5000   -0.2236
r1 =
   -2.0000   -5.0000  -10.0000  -17.5000
         0   -2.2361   -6.7082  -14.0872
         0         0    1.0000    3.5000
         0         0         0   -0.2236
ans =
    1.0000    1.0000    1.0000    1.0000
    1.0000    2.0000    3.0000    4.0000
    1.0000    3.0000    6.0000   10.0000
    1.0000    4.0000   10.0000   20.0000
ans =
    1.0000   -0.0000   -0.0000         0
   -0.0000    1.0000         0    0.0000
   -0.0000         0    1.0000   -0.0000
         0    0.0000   -0.0000    1.0000
q2 =
   -0.1155    0.4642   -0.0789   -0.8746
   -0.4619    0.0244    0.8866   -0.0060
   -0.8083   -0.4154   -0.4102   -0.0768
   -0.3464    0.7819   -0.1988    0.4787
r2 =
   -8.6603  -10.7387  -12.8172
         0    1.6371    3.2741
         0         0   -0.0000
         0         0         0
rank_b =
     2
>> 

特征值, 特征向量

在这里插入图片描述

a=pascal(4) % pascal矩阵是对称正定的
b=eig(a)
[X,D]=eig(a) % X的列向量是a的特征向量
a*X(:,1)
b(1)*X(:,1)
a*X
X*D
a =
     1     1     1     1
     1     2     3     4
     1     3     6    10
     1     4    10    20
b =
    0.0380
    0.4538
    2.2034
   26.3047
X =
    0.3087   -0.7873    0.5304    0.0602
   -0.7231    0.1632    0.6403    0.2012
    0.5946    0.5321    0.3918    0.4581
   -0.1684   -0.2654   -0.3939    0.8638
D =
    0.0380         0         0         0
         0    0.4538         0         0
         0         0    2.2034         0
         0         0         0   26.3047
ans =
    0.0117   -0.3573    1.1686    1.5832
   -0.0275    0.0741    1.4109    5.2918
    0.0226    0.2415    0.8634   12.0497
   -0.0064   -0.1204   -0.8679   22.7207
ans =
    0.0117   -0.3573    1.1686    1.5832
   -0.0275    0.0741    1.4109    5.2918
    0.0226    0.2415    0.8634   12.0497
   -0.0064   -0.1204   -0.8679   22.7207
ans =
    0.0117
   -0.0275
    0.0226
   -0.0064
ans =
    0.0117
   -0.0275
    0.0226
   -0.0064
>> 
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值