¸ÞÀϺ¸³»±â

À̸§°Ë»ö

::: Analysis by SBC :::


392 440 Åë°èÄ«¿îÅÍ º¸±â   ȸ¿ø °¡ÀÔ È¸¿ø ·Î±×ÀÎ °ü¸®ÀÚ Á¢¼Ó --+
Name   ±è´ë½Ä
Subject   ±è´ë½Ä105424 gauss_el
%gauss_el . m
%Gauss Elimination to solve A*x= b
%input : A, b
%output : x
%Programmed by ±è´ë½Ä
function x = gauss_el(A,b);
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


>> A = myrand(10,10,1,10); b = myrand(10,1,10,20);
>> x= gauss_el(A, b)

x =

   -0.8577
    2.8716
  -18.3662
  -25.5714
   15.4848
  -15.3967
   27.7758
    2.9907
   11.2775
    6.6214

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


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