Sunteți pe pagina 1din 3

MÉTODO DE GAUSS SEIDEL

CÓDIGO DEL PROGRAMA:

C
C PROGRAMA PARA RESOLVER SISTEMAS DE ECUACIONES LINEALES
C CON EL METODO ITERATIVO DE GAUSS-SEIDEL
C
DIMENSION A(20,22),B(20),X(20)
100 FORMAT (3I5)
101 FORMAT ("1MATRIZ AMPLIADA DEL SISTEMA"/)
102 FORMAT (8F10.4)
103 FORMAT (" RENGLON",I3,10F12.4/(11X,10F12.4))
104 FORMAT (///" VALORES DE LAS INCOGNITAS ANTES DE LA PRIMERA"
1 " ITERACION"/)
105 FORMAT ("X("I2"))",F13.4)
106 FORMAT (///"EL METODO NO CONVERGE EN ",I5" ITERACIONES")
107 FORMAT (///" VALORES DE LAS INCOGNITAS EN LA ULTIMA IETRACION"/)
1 READ (5,100) N,NMI,NAPROX
IF (N.LT.2.OR.N.GT.20) CALL EXIT
APROX=10.**(-NAPROX)
WRITE (6,101)
DO 2 I=1,N
READ (5,102) (A(I,J),J=1,N),B(I)
2 WRITE (6,103) I,(A(I,J),J=1,N),B(I)
WRITE (6,104)
READ (5,102) (X(J),J=1,N)
WRITE (6,105) (J,X(J),J=1,N)
DO 5 ITER=1,NMI
IJK=0
DO 4 I=1,N
Y=B(I)
DO 3 J=1,N
IF (I.EQ.J) GO TO 3
Y=Y-A(I,J)*X(J)
3 CONTINUE
Y=Y/A(I,I)
IF (ABS((X(I)-Y)/Y).GT.APROX) IJK=1
4 X(I)=Y
IF (IJK.EQ.0) GO TO 6
5 CONTINUE
WRITE (6,106) NMI
6 WRITE (6,107)
WRITE (6,105) (J,X(J),J=1,N)
GO TO 1
END
CAPTURA DE PANTALLA
RESULTADOS

S-ar putea să vă placă și