Вы находитесь на странице: 1из 4

Simulacin

Algoritmo del
Mtodo de Gauss
de
Yacimiento
s
Nombre: Cristhian
Alvear

METODO DE GAUSS
El m to do de Ga uss consi ste e n transf orm ar un si ste ma de e cuaci one s
e n ot ro e qui vale n te de forma q ue e ste se a es ca lo nad o .
Par a faci l i tar el cl cul o vam os a trans form ar e l si ste ma e n una matri z,
e n l a q ue p ond re mos l os coe fi cie n te s de l as vari abl e s y l os t rmi nos
i nde pe ndi e nte s (se para dos po r una re cta).

ALGORITMO BASICO DE GAUSS


a: matriz aumentada del sistema de n ecuaciones lineales
Para e = 1, 2,,n
Para j = e, e+1, e+2,,n+1

ae , j a e, j /ae , e

Normalizar la fila

e (ae , e 0)
Fin
Para i = e+1, e+2,..,n
Para j=e, e+1,., n+1

ai , j a i , j ai , e ae , j

Reducir las filas

debajo de la fila e
Fin
Fin
Fin

x n an , n+1

Resolver el

sistema triangular superior


Para i = n-1, n-2,., 1

s 0

Para j = i+1, i+2,., n

s s+a i , j x j

Fin

x i ai ,n +1s

Fin
METODO DE GAUSS EN FORTRAN
Programa Principal:
program principal
use Gauss1

implicit none
real,allocatable:: A(:,:),b(:),x(:)
integer::Ierr,n,i,j
write(*,*)'introduce la dimension de la matriz'
read(*,*) n
allocate(A(n,n),stat=Ierr)
allocate(b(n),stat=Ierr)
allocate(x(n),stat=Ierr)
if (Ierr>0) stop
write(*,*)'introduce los elementos de la matriz'
A(1,1)=2
A(1,2)=0
A(1,3)=1
A(2,1)=1.5
A(2,2)=5
A(2,3)=3
A(3,1)=0
A(3,2)=1
A(3,3)=1.5
write(*,*)'introduce las componentes del vector de soluciones'
b(1)=1
b(2)=2
b(3)=3
call Gauss1(A,b,x)
write(*,*)x
end program
Module Numerico:
subroutine GAUSS1(A,b,x)
real,intent(INOUT)::A(:,:)
real,intent(INOUT)::b(:)
real,intent(OUT)::x(:)
real::suma
integer::i,j,k,n
n=size(b)
PASO DE ELIMINACION:
do k=1,n-1
do i=k+1,n
do j=k+1,n
A(i,j)=A(i,j)-(A(i,k)/A(k,k))*A(k,j)
end do
B(I)=B(I)-(A(I,K)/A(K,K))*(B(K))
END DO
END DO
PASO DE SUSTITUCION
X(N)=B(N)/A(N,N)
DO I=N-1,1,-1
SUMA=0
DO J=I+1,N
SUMA=SUMA+A(I,J)*X(J)

END DO
X(I)=(B(I)-SUMA)/A(I,I)
END DO
END SUBROUTINE Gauss1
Module Funciones:
module funciones
contains
function f1(y)
real,intent(in)::y
real::f1
f1=(((-0.809524)*(y**2))-((-0.928571))*(sin(y)))
end function
end module funciones
BIBLIOGRAFIA
Mtodo de Gauss. Disponible: http://www.vitutor.com/algebra/sistemas
%20I/gauss.html
Mtodo de Gauss. Disponible:
http://blog.espol.edu.ec/econde/files/2012/08/AN12_METODO_DE_GAUSS.pdf
Mtodo de Gauss. Disponible: http://fortraneuita.blogspot.com/2011/03/metodo-de-gauss.html