¸ÞÀϺ¸³»±â

À̸§°Ë»ö

::: Analysis by SBC :::


392 440 Åë°èÄ«¿îÅÍ º¸±â   ȸ¿ø °¡ÀÔ È¸¿ø ·Î±×ÀÎ °ü¸®ÀÚ Á¢¼Ó --+
Name   ÀÓÇý¿ø
Subject   gauss_el
% gauss_el.m
% Gauss Elimination to solve A*x = b
% input : A, b
% output : x
%Prortammed by Lim. Hye Won
function x = gauss_el(A,b);
A = myrand(8,8,1,9), b = myrand(8,1,1,5);
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 two 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,10,20);
>> x=gauss_el(A,b)

A =

     4     4     7     6     5     4     6     4
     2     5     7     3     3     5     3     5
     6     3     4     8     8     6     3     8
     8     6     6     5     4     2     6     6
     6     1     7     7     6     8     5     4
     9     6     2     4     1     7     1     5
     9     7     9     9     4     7     2     6
     1     9     8     2     5     8     3     2


ans =

  1.2212e-015


x =

   -0.9341
   -0.0979
   -0.1669
    1.0029
   -1.4407
    0.6844
    0.7253
    0.8483

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


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