¸ÞÀϺ¸³»±â

À̸§°Ë»ö

::: Analysis by SBC :::


392 440 Åë°èÄ«¿îÅÍ º¸±â   ȸ¿ø °¡ÀÔ È¸¿ø ·Î±×ÀÎ °ü¸®ÀÚ Á¢¼Ó --+
Name   Á¶ÇöÈ£
Subject   gauss_el

% gauss_el.m
% Gauss Elimination to solve A*x = b
% input : A, b
% output : x
%Programmed by Jo, Hyun-Ho
%function x = gauss_el(A,b);
A = myrand(10,10,1,9), b = myrand(10,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 =

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


b =

     2
     3
     3
     4
     2
     4
     2
     4
     1
     4


ans =

  4.8700e-014





Publish

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


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