matlab:inv,pinv逆與偽逆


對於方陣A,如果為非奇異方陣,則存在逆矩陣inv(A)
對於奇異矩陣或者非方陣,並不存在逆矩陣,但可以使用pinv(A)求其偽逆

 

inv:

 
inv(A)*B
實際上可以寫成A\B
B*inv(A)
實際上可以寫成B/A
這樣比求逆之后帶入精度要高

A\B=pinv(A)*B 

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的部分特性,但是不完全相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM