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
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
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
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.
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
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
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
UNIVERSIDAD DE CUENCA
ESCUELA DE INGENIERIA
CIVIL
TRABAJO DE METODOS
NUMERICOS
REALIZADO POR:
PATRICIO CORDOVA
CURSO:
2do B