IPN

IPN
IPN-ESIQIE

miércoles, 2 de junio de 2010

gauss jordan .....

! Last change: AC 2 Jun 2010 10:04 pm
!programa que resuelve ecuaciones lineales por el metodo de gauss
program gauss
implicit none
REAL,DIMENSION(:,:),ALLOCATABLE::M
REAL,DIMENSION(:),ALLOCATABLE::D,X
REAL::DET,N
INTEGER::i,k,j,L,g
PRINT*,'Este programa resuelve ecuaciones simltaneas'
PRINT*,'por el metodo de Gauss'
!
!
PRINT*,'DE CUANTAS ECUCIONES CONSTA TU SISTEMA'
READ*,n
!
PRINT*,'M representa lamatriz del sistema'
PRINT*,'D representa a lamatriz de terminos independientes'
!
ALLOCATE (M(N,N),D(N),X(N))
DO i=1,N,1
PRINT*,'Intoroduce los elementos de la matriz del sistema, fila',i
do k=1,N,1
PRINT*,'Introduce el elemento c(',i,',',k,')='
READ*,M(i,k)
END DO
!
PRINT *,'Intoroduce los elementos de la matriz terminos independientes'
READ*,D(i)
END DO
DET=1
DO i=1,N-1,1
DET=DET*M(i,i)
IF (DET==0)then
PRINT*,'no puede resolverse por eliminacion de gauss'
else
DO j=1,N-1,1
DO k=i+1,N,1
M(j,k)=M(j,k)-M(j,i)*M(i,j)/M(i,i)
END DO
g=D(j)-M(j,i)*D(i)/M(i,i)
END DO
END IF
END DO
DET=DET*M(N,N)
IF(DET==0)then
PRINT*,'no puede resolverse por eliminacion de gauss'
else
X(N)=D(N)/M(N,N)
DO L=N-1,1,-1
X(L)=D(L)
DO i=L+1,N,1
X(L)=X(L)/M(L,L)
END DO
END DO
PRINT*, 'la solucion de tu sistema es:'
DO k=1,N,1
PRINT*,'X(",K,")=',X(k)
END DO
END IF
end program gauss

1 comentario:

  1. hola bloguera, me alegra encontrar personas como tu!!!

    soy egresado tambien de la esiqie,,, igual hace mucho tiempo tenia un proyecto como tu blog, pero se nesesita de mucho colaboracion, ¿te gustaria estar en colaboracion para tener un blog completo?, te dejo algunos blogs que realize algun dia en mis ratos libres, http://wikiesiqie.blogspot.mx/ y http://downdave.blogspot.mx/


    me puedes contactar en facebook como Diego Espindola Velasco (dave)

    ResponderEliminar