求偽逆的三種方法 直接,SVD,QR及具體的應用

2021-08-07 07:18:16 字數 947 閱讀 2509

① 直接求解:

求導,令導數為0,結果如下: inva=(ata)-1at

% 直接求偽逆
inva = inv(a'*a)*a';
② svd求解

%% svd分解求偽逆
% 原理和公式:1. svd分解得到的矩陣:u和v是正交陣,s是對角陣
%            2. 正交陣的逆=轉置
%            3. 對角陣的逆=非零元素求倒
% step1: 求解a的svd分解
[u,s,v] = svd(a); % a = u*s*v'
% step2: 將s中的非零元素求倒
t=s;
t(find(s~=0)) = 1./s(find(s~=0));
% step3: 求inva
svdinva = v * t' * u';
③ qr求解

%% qr分解求偽逆
% 適用於稀疏矩陣
% 原理和公式:1. qr分解得到的矩陣:q是正交陣,r是非奇異上三角陣
%            2. 正交陣的逆=轉置
%            3. 上(下)三角矩陣的逆也仍然是上(下)三角矩陣。不必用高斯消去法,向前替換法解方程。
%               但是具體的我不知道怎麼用程式來寫,這裡仍舊用了matlab的函式。
[q,r] = qr(a);
invr =  inv(r'*r)*r';
qrinva =invr*q';
解決的問題:

通過(22)和(23)式要求psai_x和psai_y,但是

求偽逆的三種方法 直接,SVD,QR及具體的應用

直接求解 求導,令導數為0,結果如下 inva ata 1at 直接求偽逆inva inv a a a svd求解 svd分解求偽逆 原理和公式 1.svd分解得到的矩陣 u和v是正交陣,s是對角陣 2.正交陣的逆 轉置 3.對角陣的逆 非零元素求倒 step1 求解a的svd分解 u,s,v sv...

計算逆矩陣的三種方法

目錄 1.待定係數法 2.伴隨矩陣求逆矩陣 3.初等變換求逆矩陣 矩陣a 1,2 1,3 假設所求的逆矩陣為 a,bc,d 則 從而可以得出方程組 a 2c 1 b 2d 0 a 3c 0 b 3d 1 解得a 3 b 2 c 1 d 1 伴隨矩陣是矩陣元素所對應的代數余子式,所構成的矩陣,轉置後得...

求素數的三種方法

具體篩法是 先把n個自然數按次序排列起來。1不是質數,也不是合數,要划去。第二個數2是質數留下來,而把2後面所有能被2整除的數都劃去。2後面第乙個沒劃去的數是3,把3留下,再把3後面所有能被3整除的數都劃去。3後面第乙個沒劃去的數是5,把5留下,再把5後面所有能被5整除的數都劃去。這樣一直做下去,就...