pinv 求矩陣的偽逆矩陣

2021-07-08 21:11:39 字數 916 閱讀 6312

pinv--求矩陣的偽逆矩陣

【功能簡介】用於求矩陣的偽逆矩陣。

【語法格式】

1.b=pinv(a)

函式返回矩陣a的偽逆矩陣。如果矩陣a是可逆(非奇異)的,那麼pinv(a)與inv(a)的結果是一樣的,而且pinv比inv效率低。但如果矩陣a是奇異矩陣,則inv(a)不存在,但pinv(a)仍然存在,並表現出一些與逆矩陣類似的性質。在pinv函式中,a不一定是方陣。

2.b=pinv(a,tol)

採用tol代替預設的精確度。

【例項3.28】求方陣和普通矩陣的偽逆矩陣。

>> a=[1,2,3;4,5,6;7,8,9];  

>> rank(a,1e-6) %求矩陣a的秩

ans =

2 >> pinv(a) %矩陣a的偽逆矩陣

ans =

-0.6389 -0.1667 0.3056

-0.0556 0.0000 0.0556

0.5278 0.1667 -0.1944

>> b=[1,2,3;4,5,6];

>> inv(b) %矩陣b不是方陣,因此沒有逆矩陣

??? error using ==> inv

matrix must be square.

>> pinv(b) %矩陣b有偽逆矩陣

ans =

-0.9444 0.4444

-0.1111 0.1111

0.7222 -0.2222

【例項分析】矩陣a的秩小於矩陣行數,是奇異矩陣,其逆矩陣不存在,但偽逆矩陣存在。矩陣b不是方陣,沒有逆矩陣,但可以有偽逆矩陣。

C 使用Eigen實現偽逆矩陣(pinV)

偽逆矩陣 moore penrose pseudoinverse a定義 a vd ut,其中,u,d和v是矩陣a奇異值分解後得到的矩陣。對角矩陣d的偽逆d 是非零元素取倒數之後再轉置得到的。c 實現偽逆矩陣,程式 include funset.hpp include include include...

OpenCV求逆(偽逆)矩陣函式

double invert inputarray src,outputarraydst,int flags decomp lu 功能 用以求取乙個矩陣的逆或者偽逆。src 輸入,浮點型 32位或者64位 的m n的矩陣,當引數3的使用方法為decomp cholesky decomp lu deco...

OpenCV求逆(偽逆)矩陣函式

ouble invert inputarray src,outputarraydst,int flags decomp lu 功能 用以求取乙個矩陣的逆或者偽逆。src 輸入,浮點型 32位或者64位 的m n的矩陣,當引數3的使用方法為decomp cholesky decomp lu decom...