LU分解MatLab算法分析_第1頁
LU分解MatLab算法分析_第2頁
LU分解MatLab算法分析_第3頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、最近矩陣分析老師出了一道題目作為作業(yè)A LU 要求能對A PA=LU 的分解,并最終輸出矩陣。首先對A LU 分解,即能把A A=L*U(U 是上三角矩陣,是由A 矩(i,j) 位置元素過程中主元所乘的系數(shù),條件有3,一是矩陣AA如果不是方陣,LU 分解啦,這是基本條件,牢記啊!二是矩陣A 必須可逆,換種說法就是A A A 0,好繞,矩陣就是這樣,很多定理其實是等價的,但是你得記住,不然在推導(dǎo)一些定理或公式的時候會犯一些基本的常識性錯誤。三是矩陣 A 在高斯消元過程中必須0 A 進行高斯消元過程中沒有出現(xiàn)進行交換這種情況下L*U 這種形式,如果對A 進行高斯消元,中間某一步出現(xiàn)0 主元,需要進

2、行行交換了,這種情況下就不要想對A LU 分解啦,因為不滿足條件3 啊!那么問題來了0 主元這種情況,我又想對A LU 分解,那應(yīng)該怎么辦?LU 分解,也就是本文的主題。根據(jù)書上的定理,對任意一個非奇異矩陣(等價于可逆矩陣)都存在一個置換矩陣P P*A L*U 這種形式, 即A 不是要進行行變換才能繼續(xù)高斯消元嗎? LU 分解前提又是高斯消元過程中不能出現(xiàn)行交換,那好,我事先對A 矩陣在高斯消元過B 高斯消元那肯定就不會出現(xiàn)需LU B LU 分解了嗎? 是的,PA=LU LU 分解采用的就是這種思想。那么現(xiàn)在的問題是,怎么在代碼中實現(xiàn)對A LU 分解,并輸出 矩陣呢?我在網(wǎng)上搜了一下,發(fā)現(xiàn)結(jié)果

3、大都不盡A=LU 這種形式的分解,一旦說A 3,那就死翹low 在這個例子中,最簡單的情況就是矩陣A在高斯消元過程中不需要進行行交換,也就是說A可以分解成A=L*U這種形式。這種情況下,代碼如下。function LUDecomposition(A,n)%A is the square matrix,n is the orderof AL=eye(n);%Let the L matrix be an identity matrix atfirst for i=1:n-1forj=i+1:nendL(j,i)=A(j,i)/A(i,i);A(j,:)=A(j,:)-(A(j,i)/A(i,i)*

4、A(i,:);endU=A %A becomes U matrix after Gausselimination L可以試著令A(yù)=2 2 2;4 7 7;6 18 22,調(diào)用函數(shù)獲得L矩陣為1 0 0;2 1 0;3 4 1,U矩陣為2 2 2;0 33;0 4 4,用筆驗算下,這個結(jié)果是正確的。代碼運行結(jié)果如圖所示:的話,A個非零主元。 n-1n個主元已經(jīng)是矩陣的最 個主元下面所有元 1n-1 ni+1n(j, i)L矩陣第位置的元素,所以有;。AL(,這樣就;。矩陣,L矩陣。進行PA=LU 0主 00P矩陣中的操作是相應(yīng)的兩行也要進行交換, AAi kLi行和 第kA=1 2 -3 4;4

5、 8 12 -8;2 3 2 1;-3 -1 1 得L矩陣為1 0 0 0;-3 1 0 0;2 -0.2 1 0;2 -0.2 1 0;4 0 3.75 1,U矩陣為1 2 -3 4;0 5 -8 8 ;0 0 6.4-5.4;0 0 0 1 0 0 0;0 0 0 1;0 0 1 0;0 1 0 多,但目前來說我覺得應(yīng)該沒什么問題了,如果有問題歡迎反饋給我。這部分代碼如下: function AdvanceLUDecomposition(A,n)%A is the square matrix,n istheorder of A,A must be invertibleD=A; %Store

6、 matrix A in D,for later use L=zeros(n);%Let the L matrix be an zero matrix atfirstP=eye(n);%Let the permutation matrix be a identity matrix atfirst for i=1:n-1forj=i+1:nif A(i,i)=0 %A zero pivot appears on (i,i) position,we need to finda nonzero entry below it to be the new pivot,with row exchangef

7、or k=n:-1:i+1 %find a nonzero entry below the (i,i) entry in thei column,start from the last rowifA(k,i)=0%Wehavefoundanonzeroentry,tochooseitasthenewpivot,we need row exchange kii,:);%PermuteiandkrowinLmatrix i,:);%PermuteiandkrowinAmatrix i,:);%PermuteiandkrowinPmatrixbreak; end end endend endL(j,

8、i)=A(j,i)/A(i,i);A(j,:)=A(j,:)-(A(j,i)/A(i,i)*A(i,:);U=A %A becomes U matrix after Gauss eliminationL=L+eye(n) %All entries on the diagonal of L matrix must be1 P %output the permutation matrixB=L*U %verify if the product of L and U equals to P*AC=P*D%DistheoriginalAmatrix,checkitoutinrow2%IfBequals

9、C,then it means the algorithm works correctly%some key points and theroms about LU factorization%Theorem 1 A nonsigular matrix Anxn possesses an LU factorization if and%only if a nonzero pivot does not emerge during row reduction toupper%triangular form with type III operations.%Theorem2Foreachnonsi

10、gularmatrixA,thereexistapermutationmatrix P%such that PA possesses an LU factorization PA=LU%Remember,theconceptofnonsingularmatrixisforsquarematrix,itmeans%that the determinant is nonzero,and this is equivalent that thematrix has%full-rank%Based on these conditions,the first thing about the matrix A onwhich we%conduct LU factorization is that A must be a square matrix.The second%thing is A must be invertible,which is equal to the statement that A is%non-singular代碼運行結(jié)果如圖所示:Ax=b的時候,一般來 A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論