¸ÞÀϺ¸³»±â

À̸§°Ë»ö

::: Analysis by SBC :::


392 340 Åë°èÄ«¿îÅÍ º¸±â   ȸ¿ø °¡ÀÔ È¸¿ø ·Î±×ÀÎ °ü¸®ÀÚ Á¢¼Ó --+
Name   À̼Ҹ®
Subject   gauss_el
% gauss_el.m
% Gauss Elimination to solve A*x = b
% input : A, b
% output : x
% Programmed by Lee, so ri
function x = gauss_el(A,b);
% A = myrand(10,10,1,10) , b = myrand(10,1,1,10)

n = length(A);
R=[A b];

for j = 1 : n-1
    for i = j+1 : n
        if R(j,j)==0
            max_id = find( max( abs(R(j+1:n,j)) ) ) + j; % Find pivot
            temp = R(j,:); % Change tow rows
            R(j,:) = R(max_id,:); R(max_id,:) = temp;
        end
        a = R(i,j)/R(j,j);
        R(i,:) = R(i,:) -  a*R(j,:);
    end
end
% ¿ª´ëÀÔ¹ý
A = R(:,1:n); b = R(:,n+1);
x = zeros(n,1);
for j = n:-1:1
    x(j) = ( b(j) - A(j,j+1:n)*x(j+1:n))/A(j,j);
end
norm( b - A*x )
    
%%%
>>  A = myrand(10,10,1,10); b = myrand(10,1,1,10);
>> x = gauss_el(A,b)

ans =

  7.1846e-015


x =

    0.9554
    1.3207
   -0.2431
   -0.5625
   -0.6000
    0.6425
    0.4235
   -0.4001
   -0.9118
    0.0503

°Ô½Ã¹°À» À̸ÞÀÏ·Î º¸³»±â ÇÁ¸°Æ®Ãâ·ÂÀ» À§ÇÑ È­¸éº¸±â
DATE: 2013.10.10 - 15:09
LAST UPDATE: 2013.10.10 - 15:09


 ÀÌÀü±Û gauss_el
 ´ÙÀ½±Û gauss_el
±Û³²±â±â»èÁ¦Çϱâ¼öÁ¤Çϱâ´äº¯´Þ±âÀüü ¸ñ·Ï º¸±â