矩陣LU分解---使用MATLAB和DEV-C++實現的程式碼過程

XinLiu.....發表於2020-10-12

一、MATLAB中實現

1、程式碼

function LU(a,n)
m = zeros(n,n);            
for i = 1:n;     m(i,i) = 1;  end   
for j = 1 : n-1
    if abs(a(j,j))<eps; 
        error('zero pivot encountered');   
    end
    for i = j+1 : n
        mult = a(i,j)/a(j,j);
        m(i,j) = mult;  
        for k = j:n
            a(i,k) = a(i,k) - mult*a(j,k);
        end
    end
end

2、結果

 
>> a=[2,2,2;4,7,7;6,18,22]

>> n=3

>> LU1(a,n)
  L=
     1     0     0
     2     1     0
     3     4     1

  U=
     2     2     2
     0     3     3
     0     0     4

  LU=
     2     2     2
     4     7     7
     6    18    22

二、DEV-C++實現

1、程式碼

2、結果

相關文章