Page 220 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 220
196 RAÍCES DE POLINOMIOS
X0 = Longitud del vector NROOT que contiene los valores iniciales. (Entrada)
X = Longitud del vector NROOT que contiene las raíces calculadas. (Salida)
INFO = Longitud del vector entero NROOT. (Salida)
Contiene el número de iteraciones para encontrar cada raíz.
Observe que las iteraciones terminan cuando se satisface cualquiera de los criterios
de terminación o cuando se excede el número máximo de iteraciones. La función F
tiene el formato general
FUNCTION F(X)
REAL F,X
F = ...
END
donde la línea “F = ...” es donde se escribe la función de la variable desconocida X.
EJEMPLO 7.8 Uso de IMSL para localizar una raíz simple
Planteamiento del problema. Use ZREAL para determinar la raíz de la función
trascendente
ƒ(x) = x – cos x
Solución. Un ejemplo del programa principal en Fortran 90 y del uso de la función
ZREAL para resolver este problema se escribe como
PROGRAM Root
IMPLICIT NONE
INTEGER::nroot
PARAMETER (nroot=1)
INTEGER::itmax=50
REAL::errabs=0.,errrel=1.E-5,eps=0.,eta=0.
REAL::f,x0(nroot),x(nroot)
EXTERNAL f
INTEGER::info(nroot)
PRINT *, “Introduzca los valores iniciales”
READ *, x0
CALL ZREAL(f,errabs,errrel,eps,eta,nroot,itmax,x0,x,info)
PRINT *, “raíz = ”, x
PRINT *, “iteraciones = ”, info
END PROGRAM
FUNCTION f(x)
IMPLICIT NONE
REAL::f,x
f = x – cos(x)
END FUNCTION
La salida es:
Introduzca el valor inicial
0.5
raíz = 7.390851E-01
iteraciones = 5
6/12/06 13:51:29
Chapra-07.indd 196 6/12/06 13:51:29
Chapra-07.indd 196

