Está en la página 1de 16

METODO DE BISECCIN

Diagrama De Flujo:
Las subrutinas de datos e impresin estn desarrolladas al final de los
mtodos.

Sub BISEC

DATOS1(A;B;N;TOL)

h=1
c=(a+b)/2
fa=F(a)
fc=F(c)

Abs(fc):t
ol
=<
IMP(C,H)

h=0
IMP(C,H)

Endsubroutine

Codificacin:

I=1,n
>

(fc*fa):to
l
=<
b=c

>

a=c

SUBROUTINE MB(A,B,N,TOL,C,H)
INTEGER*4 N,H
REAL*4 A,B,TOL,C,FA,FB,FC

102

CALL DATOS1 (A,B,N,TOL)


H=1
C= (A+B)/2
FA=F(A)
FC=F(C)

IF (ABS(FC).GT.TOL) THEN
IF ((FC*FA).GT.O) THEN
A=C
ELSE
B=C
END IF
N=N-1
IF (N.GT.O) THEN
GO TO 102
ELSE
H=0
CALL IMP(C,H)
END IF
END IF
CALL IMP(C,H)
ENDSUBROUTINE

Prueba de escritorio:

f(x)=x^3+x-3
f'(x)=3x^2+1

Tolerancia=0,001

Mtodo de Biseccin
a=0.5 b=1,5
n
1
2
3
4
5
6
7
8
9
10
11

a
0,500
1,000
1,000
1,125
1,188
1,188
1,204
1,212
1,212
1,212
1,213

Ejemplo:

b
1,500
1,500
1,250
1,250
1,250
1,219
1,219
1,219
1,216
1,214
1,214

c
1,000
1,250
1,125
1,188
1,219
1,204
1,212
1,216
1,214
1,213
1,214

f(a)
-2,37500
-1,00000
-1,00000
-0,45117
-0,13532
-0,13532
-0,05066
-0,00764
-0,00764
-0,00764
-0,00223

f( c)
-1,00000
0,20313
-0,45117
-0,13794
0,03039
-0,05334
-0,01034
0,01133
0,00319
-0,00223
0,00048

f(a)*f( c)
2,37500
-0,20313
0,45117
0,06223
-0,00411
0,00722
0,00052
-0,00009
-0,00002
0,00002
0,00000

INGRESE LA TOLERANCIA
0.001
INGRESE EL # DE ITERACIONES
15
INGRESE EL 1er EXTREMO DEL INTERVALO
0.5
INGRESE EL 2do EXTREMO DEL INTERVALO
1.5
SOLUCION: 1.213379
MTODO DE NEWTON RAPHSON
Diagrama De Flujo:
Las subrutinas de datos e impresin estn desarrolladas al final de los
mtodos.
Sub

NRAPHSON
DATOS2(Xo,N,Tol)

h=1

X=Xo-(F(Xo)/DF(Xo))
I=1,n
Abs(X-Xo):Tol

c=h
IMP(C,H)

h=0
IMP(C,H)

Codificacin:
Endsubroutine

SUBROUTINE MNR(Xo,N,TOL,C,H)

INTEGER*4 N,H
REAL*4 Xo,TOL,C
CALL DATOS2 (Xo,N,TOL)
H=1
DO I=1,N
X=Xo-(F(Xo)/DF(Xo))
IF (ABS(X-Xo).LE.TOL) THEN
C=X
CALL IMP (C,H)
ELSE
Xo=X
ENDIF
ENDDO
H=0
CALL IMP (C,H)
ENDSUBROUTINE

Prueba de escritorio
Xo=1
n
1
2
3

Xo
1,000
1,250
1,214

f(Xo)
-1,000
0,203
0,005

f'(Xo)
4,000
5,688
5,423

X1
1,250
1,214
1,213

X1-Xo
0,2500
0,0357
0,0009

Ejemplo:
INGRESE # DE ITERACIONES
15
INGRESE LA TOLERANCIA
0.001
INGRESE Xo
1
SOLUCION: 1.213412

MTODO DE NEWTON RAPHSON POLINOMIAL


Diagrama De Flujo:

Las subrutinas de datos e impresin estn desarrolladas al final de los


mtodos.
NRPOLINOMIO

DATOS3(P.X)
DATOS2(Xo,N,Tol)

h=1

G(1)=P(1)
G(J)=(G(J-1)*Xo)+P(J))

J=2,(x+1)

DG(1)=P(1)
DG(J)=(DG(k-1)*Xo)+G(k))

k=2,x

X=Xo-(F(Xo)/DF(Xo))
I=1,n
Abs(X-Xo):Tol

c=h
IMP(C,H)

h=0
IMP(C,H)

Endsubroutine
SUBROUTINE MNRP(N,P,X,C,H)
INTEGER*4 N,X,H

Codificacin:

REAL*4 TOL,P,Xo,G,DG
DIMENSION P(100), G(100), DG(100)
CALL DATOS3(P,X)
CALL DATOS2 (Xo,N,TOL)
H=1
DO I=1,N
G(1)=P(1)
DO J=2,(X+1)
G(J)=(G(J-1)*Xo)+P(J)
ENDDO
DG(1)=P(1)
DO K=2,X
DG(K)=(DG(K-1)*Xo)+G(K)
ENDDO
X1=Xo-(G(X+1)/DG(X))
IF (ABS(X1-Xo).LE.TOL) THEN
C=X1
CALL IMP (C,H)
ELSE
Xo=X1
ENDIF
ENDDO
H=0
CALL IMP (C,H)
END SUBROUTINE

Prueba de escritorio:
P(X)=x^3+x-3
n
1
2
3

Xo
1,000
1,250
1,214

Xo=1
f(Xo)
-1,000
0,203
0,005

f'(Xo)
4,000
5,688
5,423

Ejemplo:
INGRESE EL GRADO DEL POLINOMIO

X1
1,250
1,214
1,213

X1-Xo
0,2500
0,0357
0,0009

3
INGRESE LOS COEFICIENTES DEL POLINOMIO
1
0
1
-3
INGRESE # DE ITERACIONES
15
INGRESE LA TOLERANCIA
0.001
INGRESE Xo
1
SOLUCION: 1.213412

METODO DE LA SECANTE

Diagrama De Flujo:
Las subrutinas de datos e impresin estn desarrolladas al final de los
mtodos.
SECANTE

DATOS2(Xo,N,Tol)

X1
H=1

Qo=F(Xo)
Q1=F(X1)
X=X1-((Q1*(X1-Xo)/(Q1-Qo)))

Abs(X-X1)/Abs(X):Tol

Xo=X1
X1=X

h=0
IMP(C,H)

Endsubroutine

Codificacin:
SUBROUTINE SECANTE(Xo,N,TOL,C,H)

I=2,n

C=X
IMP(C,H)

INTEGER*4 N,H
REAL*4 Xo,X1,TOL,C
CALL DATOS2(Xo,N,TOL)
WRITE(*,*) 'INGRESE X1'
READ(*,*) X1
H=1
DO I=2,N
Qo=F(Xo)
Q1=F(X1)
X=X1-((Q1*(X1-Xo)/(Q1-Qo)))
IF (ABS(X-X1)/ABS(X) .LE. TOL) THEN
C=X
CALL IMP (C,H)
ELSE
Xo=X1
X1=X
ENDIF
ENDDO
H=0
CALL IMP (C,H)
END SUBROUTINE

Prueba de escritorio:
Xo=0,5, X1=1.5

n
1
2
3
4
5

Xo
0,500
1,500
1,059
1,185
1,217

X1
1,500
1,059
1,185
1,217
1,213

F(Xo)
-2,375
1,875
-0,754
-0,149
0,017

F(X1)
1,875
-0,754
-0,149
0,017
0,000

X
1,059
1,185
1,217
1,213
1,213

METODO DE LA FALSA POSICIN

ABS(XX1)/ABS(X)
0,4167
0,1068
0,0256
0,0026
0,0000

Diagrama De Flujo:
Las subrutinas de datos e impresin estn desarrolladas al final de los
mtodos.

Sub Falsa Posicin

DATOS1(A;B;N;TOL)

h=1
c=b-((F(b)*(b-a))/(F(b)-F(a)))
fc=F(c)
fb=F(b)

Abs(fc):t
ol

>

I=1,n

(fc*fb):to
l
b=c

IMP(C,H)

h=0
IMP(C,H)

Endsubroutine

Codificacin:
SUBROUTINE CUERDAF(A,B,N,TOL,C,H)
INTEGER*4 N,H

>

a=c

REAL*4 A,B,TOL,C
CALL DATOS1(A,B,N,TOL)
H=1
DO I=1,N
C=B-((F(B)*(B-A))/(F(B)-F(A)))
IF (ABS(F(C)) .GT. TOL) THEN
IF ((F(B)*F(C)).LT. 0) THEN
A=C
ELSE
B=C
ENDIF
ELSE
CALL IMP (C,H)
ENDIF
ENDDO
H=0
CALL IMP (C,H)
END SUBROUTINE

Prueba de escritorio:
Xo=0,5
n
1
2
3
4
5
6

X1=1,5
a
0,500
1,500
1,500
1,500
1,500
1,500

b
1,500
1,059
1,185
1,209
1,213
1,213

f(a)
-2,375
1,875
1,875
1,875
1,875
1,875

f(b)
1,875
-0,754
-0,149
-0,026
-0,005
-0,001

c
1,059
1,185
1,209
1,213
1,213
1,213

Ejemplo:
INGRESE LA TOLERANCIA
0.001
INGRESE EL # DE ITERACIONES
15
INGRESE EL 1er EXTREMO DEL INTERVALO
0.5
INGRESE EL 2do EXTREMO DEL INTERVALO
1.5
SOLUCION: 1.213267
METODO DEL PUNTO FIJO
Diagrama De Flujo:

f( c)
0,7541
0,1491
0,0263
0,0045
0,0008
0,0001

Las subrutinas de datos e impresin estn desarrolladas al final de los


mtodos.
Sub FIJO

DATOS2(Xo,N,Tol)

H=1

X1=G(Xo)

C=X1

Abs(X1Xo):Tol

IMP(C,H)

Xo=X1

h=0
IMP(C,H)

Endsubroutine

Codificacin:
SUBROUTINE PFIJO(Xo,N,TOL,C,H)
INTEGER*4 N,H

I=1,n

REAL*4 Xo,TOL,C
CALL DATOS2 (Xo,N,TOL)
H=1
DO I=1,N
X1=G(Xo)
IF (ABS(X1-Xo).LE.TOL) THEN
C=X1
CALL IMP (C,H)
ELSE
Xo=X1
ENDIF
ENDDO
H=0
CALL IMP (C,H)
END SUBROUTINE

Prueba de escritorio:
g(x)=x-((x^3+x-3)/(3*x^2+1))
n
1
2
3
4

Xo
1,500
1,258
1,215
1,213

X1
1,258
1,215
1,213
1,213

X1-Xo
0,2419
0,0434
0,0013
0,0000

Ejemplo:
INGRESE # DE ITERACIONES
15
INGRESE LA TOLERANCIA
0.001
INGRESE Xo
1
SOLUCION: 1.213412

Subrutinas y codificacin para ingreso de datos e impresin

Subroutine DATOS1
Tol, N,A,B

Subroutine DATOS2

N,Tol,Xo

Endsubroutine

Subroutine DATOS3
X

Endsubroutine

Subroutine IMP

H:0

P(i)

I=1,x+1

No hay
solucion

Endsubroutine
Endsubroutine
IMP

SUBROUTINE DATOS1 (A,B,N,TOL)


INTEGER*4 N
REAL*4 A,B,TOL
WRITE(*,*) 'INGRESE LA TOLERANCIA'
READ(*,*) TOL

WRITE(*,*) 'INGRESE EL # DE ITERACIONES'


READ(*,*) N
WRITE(*,*) 'INGRESE EL 1er EXTREMO DEL INTERVALO'
READ(*,*) A
101
WRITE(*,*) 'INGRESE EL 2do EXTREMO DEL INTERVALO'
READ(*,*) B
IF (A.EQ.B) THEN
WRITE(*,*) 'LOS EXTREMOS DEL INTERVALO NO PUEDEN SER IGUALES'
GO TO 101
END IF
ENDSUBROUTINE
SUBROUTINE DATOS2 (Xo,N,TOL)
INTEGER*4 N
REAL*4 Xo,TOL
WRITE(*,*) 'INGRESE # DE ITERACIONES'
READ(*,*) N
WRITE(*,*) 'INGRESE LA TOLERANCIA'
READ(*,*) TOL
WRITE(*,*) 'INGRESE Xo'
READ(*,*) Xo
ENDSUBROUTINE
SUBROUTINE DATOS3(P,X)
INTEGER*4 X
REAL*4 P
DIMENSION P(100)
WRITE(*,*) 'INGRESE EL GRADO DEL POLINOMIO'
READ(*,*) X
WRITE(*,*) 'INGRESE LOS COEFICIENTES DEL POLINOMIO'
DO I=1,(X+1)
READ(*,*) P(I)
ENDDO
ENDSUBROUTINE
SUBROUTINE IMP(C,H)
INTEGER*4 H
REAL*4 C
IF (H.EQ.0) THEN
WRITE(*,*) 'NO HAY SOLUCION'
ELSE
WRITE(*,*) 'SOLUCION:',C
END IF
ENDSUBROUTINE

UNIVERSIDAD DE CUENCA

ESCUELA DE INGENIERIA
CIVIL

TRABAJO DE METODOS
NUMERICOS

REALIZADO POR:
PATRICIO CORDOVA

CURSO:
2do B