Matlab中有幾種方法可以計算「LU分解」。這裏是一個: function [L,A]=LU_factor(A,n)
L=eye(n);
for k=1:n
if (A(k,k) == 0) Error('Pivoting is needed!'); end
L(k+1:n,k)=A(k+1:n,k)/A(k,k);
for j=k+1:n
A(j
我試圖與主要基於LU decomposition with partial pivoting Matlab function [L,U,P] = lup(A)
n = length(A);
L = eye(n);
U = zeros(n);
P = eye(n);
for k=1:n-1
% find the entry in the left column with the lar
在下面的代碼中,我遵循一個過程來創建一個隨機正定矩陣P。 首先,我創建奇異值分解[U,S,V]的隨機陣列的甲,我試圖驗證實際上U '* U == U * U'= I(其中I是單位矩陣),其從理論上已知。問題是,如果我自己檢查矩陣的內容,我可以驗證,但是Matlab產生的邏輯矩陣不能驗證,因爲零表示爲-0.000或0.0000,所以只有符號匹配時結果爲1。這是爲什麼? 但更大的問題出現在幾行低於此,