Métodos numéricos

Gauss-Seidel. Diagrama de Flujo. Gauss-Jordan. Newton-Raphson. Programas de métodos

  • Enviado por: Rockdrigo
  • Idioma: castellano
  • País: México México
  • 5 páginas

publicidad

Fórmula general del método.

Codificación (Programa).

DIMENSION X(5), T(5)

READ (5,30)N

FORMAT (12)

READ (5,31) (X(I), I=1,N)

FORMAT (5F3.0)

WRITE (6,32) (X(I),I=1,N)

FORMAT (5(2X,F3.0))

READ (5,31)(X(I),I=1,N)

WRITE(6,32)(X(I), I=1,N)

C=0

DO 6 I=1,N

C=C+X(I)*T(I)

CONTINUE

WRITE (6,33)C

FORMAT(E15.8)

CALL EXIT

END

Aproximaciones sucesivas.

Fórmula General

Codificación(Programa)

READ (2,1)N

1 FORMAT(I2)

K=0

READ (2,4) A,B E1, E2

4 FORMAT (2F4.0,2F9.6)

7 X=(A+B)/2

WRITE(3,5)X

5 FORMAT (5X, 2HX=, E15.8)

K=K+1

IF (ABS (X*2-25.))-E1)6,6,8

8 IF ((ABS(B-A))-E2)6,6,10

10 IF (N-K)6,6,12

12 IF ((X*2-25.)*(A*2-25.)) 13,6, 15

15 A=X

GO TO 7

13 B=X

GO TO 7

6 CALL EXIT

END

Newton-Raphson

Diagrama de bloques (pseudo código).

Diagrama de Flujo

Codificación(Programa)

WRITE (3,101)

FORMAT (1H1,//,10X,36H DETERMINACIÓN DE UNA RAÍZ APROXIMADA,/,10X,31 1H POR EL METODO DE NEWTON RHAPSON,//)

READ (2, 102) X, E, N

FORMAT (F5, 0,F10, 6, 13)

K=1

FX=X**3-4.3*X*2+4.*X-17.2

DFX=3.*X**2-8. 6*X+4

XNUEVA=X X-(FX/DFX)

WRITE (3,103)XNUEVA

FORMAT (10X,7HX NUEVA=E15,8)

IF (ABS (XNUEVA-X)-E 8,89

IF(N-K)8,8,7

K=K+1

X=XNUEVA

GO TO 3

STOP

END

Operaciones de Matrices

SUMA

Codificación (Programa)

DIMENSION A(3,3), B(3,3), C(3,3)

READ (5,1)M,N

FORMAT(2I2)

READ (5,2) ((A(I,J),J=1, N), I=1, M

READ (5,2) ((B(I,J),J=1, N), I=1, M

FORMAT (3F.0)

WRITE (6,3)((A(I,J), J=1, N) , I=1, M)

WRITE (6,3)((B(I,J), J=1, N) , I=1, M)

FORMAT (3(2X,F5.0))

DO 6 I=1, M

DO 6 J=1, N

C(I,J)=A(I,J)+B(I,J)

CONTINUE

WRITE (6,3)((C(I,J),J=1,N),I=1,M

CALL EXIT

END

Multiplicación

Codificación (Programa)

DIMENSION A(3,3),B(3,3),C(3,3)

READ(5,10)M,N

FORMAT (2I2)

READ(5,1)((A(I.,J), J=1, N), I.=1, M)

FORMAT (3F3.0)

READ (5,1) ((B(I,J), J=1, N), I=1, M)

WRITE (6,2) ((A(I,J),J=1, N) ,I=1, M

WRITE (6,2) ((B(I,J),J=1, N) ,I=1, M

FORMAT (3(2X,F5.0))

Gauss-Jordan

DIAGRAMA DE FLUJO DE GAUSS JORDAN

INICIO

A,B,C,D [ 1..10, 1...20]

J,M,N,[INT]

MATRIZ CUADRADA?

1 AL 10

N=M+1 FOR I= 1 TO M DO

M>=1 FOR J = 1 TO N DO

N<=20

J<=0

ELEMENTOS DE MATRIZ

INDEPENDIENTE A [ I,J] FOR J= 1 TO N DO

A,,B,C,..[1,J],[2,J]....

GOTO XY (X+4,Y)

VALOR DE X1,X2,X3...

OTRO CALCULO(S/N)

Codificación(Programa)

DIMENSION A(20,21)

READ (5,10)N,M,E

FORMAT(2I3,E8.1)

NA=N+M

READ (5,11)((A (I,J),J=1NA),I=1, N)

FORMAT (7F5.0)

WRITE (6,12)((A(I,J),J=1,NA),I=1, N)

FORMAT (2X,7F5.0)

DET=1

DO 2 K=1, N

DET = DET* A (K,K)

IF ((ABS (A(K,K))).GT.E)GO TO 50

WRITE (6,13)

FORMAT (2X,*PIVOTE PE QUEÑO*)

GO TO 5

IP1=K+1

DO 3 J=IP1, NA

A(K,J)=A(K,J)/A(K,K)

CONTINUE

A(K,K)=1

DO 2 I=1, N

IF (I.EQ.K.OR.A(I,K).EQ.0.)GO TO 2

DO 4 J=IP1, NA

A(I,J)=A(I,J)-A(I,K)*A(K,J)

A(I,K)=0.

CONTINUE

WRITE(6,14)DTE

FORMAT (2X, 4HDET=,E15.8)

WRITE (6,15)((A(Di,J), J=1, NA), I=1, N)

FORMAT (7(2X,F8.5))

CALL EXIT

END

Gauss-Seidel

DIAGRAMA DE FLUJO DEL MÉTODO GAUSS - SEIDEL

INICIO

VAR: A:ARRAY [1...20],1...20]

I,J,K,N,X,Y,I2[ INT]

T,M,S,N [R]

NUMERO DE ECUACIONES

ELEM =9

FOR I = 1 TO N DO

GOTOXY (1,Y,X:3)

FOR J: = 1 TO N +1

GOTO XY READ [A[ I , J ] ]

IF J =N+1 IF A [I,O] IF A[ 1,1]=0

I = 0 I2=J

T=A[ I2,J]

T=[I,J]

IF I <>K

A[I,J]=A[1,J]- T*{K,J]

OTRO CALCULO (S/N)

FIN