Vous êtes sur la page 1sur 2

PROGRAM J ACOBI

I MPLI CI T NONE
! obj et i vo: r esol ver o si st ema Ax=b pel o m t odo i t er at i vo de J ACOBI

I NTEGER: : I , J , K, I TERMAX, N, I TER, I O
REAL *8: : TOLER, R, SOMA, T, NORMA_NUM, NORMA_DEN, NORMA_REL
REAL *8, DI MENSI ON ( : ) , ALLOCATABLE: : B, X, V
REAL *8, DI MENSI ON ( : , : ) , ALLOCATABLE: : A

CHARACTER*16 FI LEOUT

I O=4

WRI TE( *, ' ( A) ' ) ' NOME ARQ. SAI DA DE RESULTADOS ? ( MAX 16 CHAR) '
READ( *, ' ( A) ' ) FI LEOUT
OPEN( I O, FI LE=FI LEOUT, STATUS=' UNKNOWN' )
WRI TE( *, 1)
1 FORMAT( / , ' SI STEMA RESOLVI DO PELO METODO DE J ACOBI ' , / / )
WRI TE( *, 12)
12 FORMAT( T1, ' ORDEM DA MATRI Z ( N) : ' , / )
READ( *, *) N
ALLOCATE ( B( N) , X( N) , V( N) )
ALLOCATE ( A( N, N) )
WRI TE( *, 13)
13 FORMAT( / , T1, ' MATRI Z ( A) : ' )
READ( *, *) ( ( A( I , J ) , J =1, N) , I =1, N)
WRI TE( *, 17)
17 FORMAT( / , T1, ' VETOR I NDEPENDENTE ( B) : ' , / )
READ( *, *) ( B( I ) , I =1, N)
WRI TE( *, 14)
14 FORMAT( / , T1, ' TOLERANCI A ( TOLER) : ' , / )
READ( *, *) TOLER
WRI TE( *, 16)
16 FORMAT( / , T1, ' NUMERO MAXI MO DE I TERACOES ( I TERMAX) : ' , / )
READ( *, *) I TERMAX

DO I =1, N
R=1/ A( I , I )
DO J =1, N
I F ( I . NE. J ) THEN
A( I , J ) =A( I , J ) *R
END I F
END DO
B( I ) =B( I ) *R
X( I ) =B( I )
END DO

I TER=0
! I TERAES DE GAUSS- SEI DEL
DO WHI LE( I TER. LE. I TERMAX)
I TER=I TER+1
DO I =1, N
SOMA=0
DO J =1, N
I F ( I . NE. J ) THEN
SOMA=SOMA+A( I , J ) *X( J )
END I F
END DO
V( I ) =B( I ) - SOMA
END DO
NORMA_NUM=0
NORMA_DEN=0

DO I =1, N
T=ABS( V( I ) - X( I ) )
1
I F ( T. GT. NORMA_NUM) THEN
NORMA_NUM=T
END I F
I F ( ABS( V( I ) ) . GT. NORMA_DEN) THEN
NORMA_DEN=ABS( V( I ) )
END I F
X( I ) =V( I )
END DO

NORMA_REL=NORMA_NUM/ NORMA_DEN
WRI TE( I O, 31) I TER, NORMA_REL
31 FORMAT( / / , T1, ' I TER' , I 6, T14, ' NORMA_REL' , F12. 6, / )
DO K=1, N
WRI TE( I O, 32) K, X( K)
32 FORMAT( / , T1, ' X' , I 6, ' =' , T14, F12. 7)
END DO

! TESTE DE CONVERGENCI A

I F ( NORMA_REL. LE. TOLER . OR. I TER. GE. I TERMAX) THEN
STOP
END I F
END DO
END PROGRAM J ACOBI
2