본문 바로가기

ETC

LU factorizatoin(LU분해) - MATLAB

% LU-Factorization :
%   LU-Factorization
% input:
%   A = coefficient matrix
% output:
%   L  = low triangular Augmented matrix
%   U  = high triangular Augmented matrix
%   EliminationMatrix = Elimination matrix for each step
% by.   Necky My.J

A=input('Enter the coefficient matrix      ');
 
[m,n] = size(A);
if m~=n, error('Matrix A must be square'); end

EliminationMatrix=zeros(m);
for i=1:m
    EliminationMatrix(i,i)=1;
end

LMatrix=zeros(m);
UMatrix=A;


disp('************forward elimination****************');
% forward elimination
for r = 1:n
    EliminationMatrix=zeros(m);
    for i=1:m
        EliminationMatrix(i,i)=1;
    end   
   
    % L 행렬 대각 값 구하는 식
    if(UMatrix(r,r) ~= 1),
            %
            %
            %
            %

                 
            %화면에 출력할 내용
            EliminationMatrix
            LMatrix
            UMatrix
           
    else
        LMatrix(r,r) = 1      
    end
   
    EliminationMatrix=zeros(m);
    for i=1:m
         EliminationMatrix(i,i)=1;
    end
   
    % L 행렬 (r,r) 이하 부분 구하는 식, U 행렬 사다리꼴 만드는 식
    for k = r+1:n
        if(UMatrix(k,r) ~= 0),
            %
            %
            %
            %

            %화면에 출력할 내용
            EliminationMatrix
            LMatrix
            UMatrix

            EliminationMatrix=zeros(m);
            for i=1:m
                EliminationMatrix(i,i)=1;
            end
        end
    end
end



 - 빈칸의 내용은 한번 생각해 보자.!!

반응형