(转)matlab的inv和pinv

对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)
对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆

inv:

inv(A)B
实际上可以写成A\B
B
inv(A)
实际上可以写成B/A
这样比求逆之后带入精度要高
A\B=pinv(A)
A/B=A
pinv(B)

pinv:

X=pinv(A),X=pinv(A,tol),其中tol为误差
pinv是求广义逆

先搞清楚什么是伪逆。
对于方阵A,若有方阵B,使得:A·B=B·A=I,则称B为A的逆矩阵。
如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A’同型的矩阵B,使得:
     A·B·A=A        
      B·A·B=B
此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。因此伪逆阵与原阵相乘不一定是单位阵。

当A可逆时,B就是A的逆矩阵,否则就是广义逆。

满足上面关系的A,B矩阵,有很多和逆矩阵相似的性质。

如果A为非奇异矩阵的话,虽然计算结果相同,但是pinv会消耗大量的计算时间。

在其他情况下,pinv具有inv的部分特性,但是不完全相同。

作者:糖葫芦君
来源:CSDN
原文:https://blog.csdn.net/yinyu19950811/article/details/61420131
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq1922631820/article/details/85341132