【矩阵原理】伪逆矩阵(pseudo-inverse)

伪逆矩阵的介绍&定义

矩阵的逆&伪逆

在这里插入图片描述
上图中的右逆矩阵根据维度可知,有所问题,可参考下图矩阵的伪逆推导及其结果。

矩阵的伪逆推导

在这里插入图片描述

定义:令A是任意mXn矩阵,称矩阵G是A的广义逆矩阵,若G满足下述条件(Moore-penrose条件):
(1)GAG = G;
(2)AGA = A;
(3)AG为hermitian矩阵,即(AG)^H=AG;
(4)GA为hermitian矩阵,即(GA)^H=GA;

伪逆矩阵的求法

直接求解:

求导,令导数为0,结果如下: I n v A = ( A T A ) − 1 A T InvA=(A^TA)^{-1}A^T InvA=(ATA)1AT

%直接求伪逆
InvA = inv(A’*A)*A’;

SVD求解

  • SVD分解求伪逆
    • 原理和公式:
      • SVD分解得到的矩阵:U和V是正交阵,S是对角阵
      • 正交阵的逆=转置
      • 对角阵的逆=非零元素求倒
    • Step1: 求解A的SVD分解
      • [U,S,V] = svd(A); % A = USV’
    • Step2: 将S中的非零元素求倒
      • T=S;
      • T(find(S~=0)) = 1./S(find(S~=0));
    • Step3: 求invA
      • svdInvA = V * T’ * U’;

QR求解

  • QR分解求伪逆,适用于稀疏矩阵
    • 原理:
      • QR分解得到的矩阵:Q是正交阵,R是非奇异上三角阵
      • 正交阵的逆=转置
      • 上(下)三角矩阵的逆也仍然是上(下)三角矩阵。
      • 不必用高斯消去法,向前替换法解方程。
      • 但是具体的我不知道怎么用程序来写,这里仍旧用了matlab的函数。
    • 公式:
      • [Q,R] = qr(A);
      • InvR = inv(R’*R)*R’;
      • qrInvA =InvR*Q’;

伪逆矩阵的应用

(1)信号的检测干扰消除

a=floor(10*rand(4,3))
a =
7 4 2
7 6 6
1 7 6
4 7 1


b=inv(a’*a)*a’
b =
0.1018 0.0650 -0.0959 -0.0180
-0.0263 -0.0767 0.0578 0.1658
-0.0296 0.1149 0.0903 -0.1719


b*a
ans =
1.0000 -0.0000 0.0000
-0.0000 1.0000 -0.0000
-0.0000 -0.0000 1.0000


伪逆矩阵在维基百科中的详细介绍

在这里插入图片描述

参考链接

伪逆矩阵
伪逆矩阵(广义逆矩阵)

  • 49
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值