M

´
ETODOS NUM
´
ERICOS
Una exploraci´on basada en Scheme
Enrique Comer Barrag´an
24 de marzo, 2009
→ Edici´on Preliminar 0.23 ←
Instituto Tecnol´ogico de Tijuana
ii
c _ Licencia de uso: Esta obra se publica bajo una licencia de Creative
Commons (ver: http://creativecommons.org/licences/by-nc-nd/2.5/). B´asi-
camente, usted puede distribuir y comunicar p´ ublicamente la obra, siempre
que se cumpla con (1) dar cr´edito al autor de la obra, (2) no la utilice para
fines comerciales y (3) no la altere, transforme o genere una obra derivada de
ella. Adem´as, al utilizar o distribuir la obra, debe especificar claramente los
t´erminos de esta licencia. Estas condiciones pueden modificarse con permiso
escrito del autor.
Edici´on preliminar 0.23
24 de marzo, 2009
´
Indice general
Prefacio VII
1. Teor´ıa de errores 1
1.1. Importancia de los m´etodos num´ericos . . . . . . . . . . . . . 1
1.2. Conceptos b´asicos . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1. Cifras significativas . . . . . . . . . . . . . . . . . . . . 3
1.2.2. Precisi´on y exactitud . . . . . . . . . . . . . . . . . . . 4
1.2.3. Incertidumbre y sesgo . . . . . . . . . . . . . . . . . . 8
1.3. Tipos de errores . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1. Error absoluto y relativo . . . . . . . . . . . . . . . . . 9
1.3.2. Error por redondeo . . . . . . . . . . . . . . . . . . . . 11
1.3.3. Error por truncamiento . . . . . . . . . . . . . . . . . . 13
1.3.4. Error num´erico total . . . . . . . . . . . . . . . . . . . 17
1.4. Software de c´omputo num´erico . . . . . . . . . . . . . . . . . . 17
1.4.1. Software de acceso libre . . . . . . . . . . . . . . . . . 18
1.4.2. Software comercial . . . . . . . . . . . . . . . . . . . . 19
1.4.3. Bibliotecas de funciones . . . . . . . . . . . . . . . . . 19
1.5. M´etodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . 20
2. M´etodos de soluci´on de ecuaciones 25
2.1. M´etodos basados en intervalos . . . . . . . . . . . . . . . . . . 25
2.2. M´etodo de bisecci´on . . . . . . . . . . . . . . . . . . . . . . . 26
2.3. M´etodo de aproximaciones sucesivas . . . . . . . . . . . . . . . 30
2.3.1. Condici´on de Lipschitz . . . . . . . . . . . . . . . . . . 30
2.3.2. Iteraci´on y convergencia . . . . . . . . . . . . . . . . . 31
2.4. M´etodos basados en interpolaci´on . . . . . . . . . . . . . . . . 35
2.4.1. M´etodo de Newton-Raphson . . . . . . . . . . . . . . . 35
2.4.2. M´etodo de la secante . . . . . . . . . . . . . . . . . . . 37
iii
iv
´
INDICE GENERAL
2.4.3. M´etodo de Aitken . . . . . . . . . . . . . . . . . . . . . 38
2.5. M´etodo de Bairstow . . . . . . . . . . . . . . . . . . . . . . . 39
2.6. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3. M´etodos para sistemas de ecuaciones 45
3.1. M´etodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. M´etodo de Jacobi . . . . . . . . . . . . . . . . . . . . . 45
3.1.2. M´etodo de Gauss-Seidel . . . . . . . . . . . . . . . . . 46
3.2. Sistemas de ecuaciones no lineales . . . . . . . . . . . . . . . . 47
3.2.1. M´etodo iterativo secuencial . . . . . . . . . . . . . . . 47
3.3. Iteraci´on y convergencia . . . . . . . . . . . . . . . . . . . . . 49
3.3.1. M´etodo de Newton-Raphson . . . . . . . . . . . . . . . 49
3.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4. Diferenciaci´on e integraci´on num´erica 53
4.1. Diferenciaci´on num´erica . . . . . . . . . . . . . . . . . . . . . 53
4.1.1. F´ormulas de diferencia . . . . . . . . . . . . . . . . . . 56
4.1.2. F´ormula de tres puntos . . . . . . . . . . . . . . . . . . 56
4.1.3. F´ormula de cinco puntos . . . . . . . . . . . . . . . . . 57
4.2. Integraci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.1. M´etodo del trapecio . . . . . . . . . . . . . . . . . . . 58
4.2.2. M´etodos de Simpson . . . . . . . . . . . . . . . . . . . 59
4.2.3. Integraci´on de Romberg . . . . . . . . . . . . . . . . . 61
4.2.4. M´etodo de cuadratura gaussiana . . . . . . . . . . . . 64
4.3. Integraci´on m´ ultiple . . . . . . . . . . . . . . . . . . . . . . . 66
4.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5. Soluci´on de ecuaciones diferenciales 69
5.1. M´etodos de un paso . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1.1. M´etodo de Euler y formas mejorada . . . . . . . . . . . 69
5.1.2. M´etodos de Runge-Kutta . . . . . . . . . . . . . . . . . 72
5.2. M´etodos de pasos m´ ultiples . . . . . . . . . . . . . . . . . . . 73
5.2.1. M´etodo de Adams-Bashforth . . . . . . . . . . . . . . . 74
5.2.2. M´etodo de Adams-Moulton . . . . . . . . . . . . . . . 76
5.3. Sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . 76
5.4. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Bibliograf´ıa 79
´
INDICE GENERAL v
´
Indice de algoritmos 83
´
Indice de c´odigo Scheme 85
´
Indice de figuras 87
´
Indice de tablas 89
´
Indice alfab´etico 91
vi
´
INDICE GENERAL
Prefacio
The purpose of computing is
insight, not numbers.
R. W. Hamming. Autor de
Numerical Methods for Scientist
and Engineers
El contenido de esta obra se conforma de acuerdo al curso de M´etodos
Num´ericos en el plan de estudios actual de Ingenier´ıa en Sistemas Computa-
cionales del Instituto Tecnol´ogico de Tijuana. Se hace ´enfasis tanto en los as-
pectos matem´aticos conceptuales como algor´ıtmicos. Para la implementaci´on
de estos ´ ultimos se utiliza el lenguaje de programaci´on Scheme [25].
La edici´on de este libro se realiz´o con TeXnicCenter (ambiente para La-
TeX/MiKTeX) y software auxiliar como WinGCLC y Asymptote.
Agradezco a la Academia de Sistemas y Computaci´on por la revisi´on y
observaciones para mejorar esta obra, as´ı como a la DGEST por el per´ıodo
sab´atico 2007-2008, gracias al cual se ha realizado este proyecto.
ECB
comer@cemati.com
vii
viii PREFACIO
Cap´ıtulo 1
Teor´ıa de errores
1.1. Importancia de los m´etodos num´ericos
La simulaci´on y el modelado
matem´atico, mover´an el siglo
XXI, as´ı como el vapor movi´o el
siglo XIX.
William H. Press. Autor de
Numerical Recipes
Gran parte de la tecnolog´ıa actual depende de la soluci´on de modelos
matem´aticos, desde la programaci´on empotrada de una calculadora cient´ıfi-
ca y el c´alculo estructural de un edificio multinivel con estructuras de acero,
hasta el dise˜ no y simulaci´on de aeronaves y vuelos espaciales. La soluci´on
de un modelo matem´atico relativamente sencillo puede obtenerse de manera
anal´ıtica. Sin embargo, para la gran mayor´ıa de los modelos matem´aticos del
mundo real, las soluciones anal´ıticas pueden no existir o ser extremadamente
complejas, por lo cual se recurre a m´etodos num´ericos que aproximen las
soluciones dentro de ciertos m´argenes de tolerancia.
El an´alisis de los m´etodos num´ericos nos permite realizar estimaciones
tanto de la eficiencia o complejidad de los algoritmos asociados, as´ı como de
la confiabilidad de los resultados num´ericos obtenidos durante su aplicaci´on.
Entre las disciplinas que hacen uso intensivo de los m´etodos num´ericos
podemos mencionar:
An´alisis Estad´ıstico
1
2 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Matem´aticas financieras
An´alisis de elemento finito
An´alisis estructural
Qu´ımica computacional
Investigaci´on de operaciones
Electromagnetismo computacional
Mec´anica computacional
Procesamiento de im´agenes
Procesamiento de se˜ nales
Simulaci´on por computadora
Computaci´on multi-escala
Metereolog´ıa
Debido a la gran variedad de aplicaciones y especialidades atendidas por los
m´etodos num´ericos, podemos encontrar en la literatura t´erminos asociados
como los siguientes:
Matem´aticas num´ericas
Algoritmos num´ericos
Computaci´on cient´ıfica
An´alisis num´erico
Matem´aticas algor´ıtmicas
Matem´aticas computacionales
Teor´ıa de la aproximaci´on
1
1
Esta disciplina matem´atica, forma la base te´orica de gran parte de los m´etodos num´eri-
cos
1.2. CONCEPTOS B
´
ASICOS 3
1.2. Conceptos b´asicos
El estudio y aplicaci´on de los m´etodos num´ericos se basa en forma esencial
en la representaci´on y manipulaci´on de los n´ umeros reales en una computa-
dora digital. Ya que la memoria de una computadora es finita, ´esta s´olo puede
representar n´ umeros racionales. La estrategia para hacer funcional y eficiente
la aproximaci´on de los n´ umeros reales por n´ umeros de m´aquina en binario se
presenta en el est´andar IEEE 754 [13]
Los t´erminos asociados en esta secci´on incluyen:
Confiabilidad
Estabilidad y convergencia
Propagaci´on del error
An´alisis asint´otico
Notaci´on cient´ıfica
Forma decimal normalizada
N´ umeros de m´aquina decimales con k d´ıgitos
N´ umeros de punto flotante (Est´andar IEEE 754)
1.2.1. Cifras significativas
La noci´on intuitiva de cifras significativas de un n´ umero est´a directamente
relacionada con la precisi´on de los ins-trumentos o procesos que lo generan.
Definici´on 1.2.1 (Cifras significativas). El n´ umero de cifras significati-
vas de un n´ umero x corresponde al n´ umero de cifras en la mantisa de su
representaci´on en notaci´on cient´ıfica.
Ejemplo 1.2.1. Ya que 0.00123 = 1.23 10
−3
, decimos que 0.00123 tiene tres
cifras significativas.
Ejemplo 1.2.2. El n´ umero 3210 = 3.210 10
3
posee cuatro cifras significa-
tivas.
4 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Note que en el ejemplo anterior, hemos mantenido el 0 de las unidades.
Si el origen del n´ umero no garantizara el valor de sus unidades, entonces
deber´ıamos escribir directamente 3.21 10
3
lo que indicar´ıa que contamos con
s´olo tres cifras significativas.
Definici´on 1.2.2 (Aproximaci´on con t cifras significativas). Sean x
v
y x
c
los
valores verdadero y calculado de una cierta cantidad, con x
v
,= x
c
. Decimos
que x
c
aproxima a x
v
con t cifras significativas si t es el mayor entero no
negativo para el cual
¸
¸
¸
¸
x
v
−x
c
x
v
¸
¸
¸
¸
≤ 5 10
−t
(1.1)
Para el caso x
v
= x
c
, x
c
aproxima x
v
con las cifras significativas propias.
Como se observa en [8, p´ag. 53] esta definici´on dada para decimales puede
extenderse para cualquier base dada.
2
Ejemplo 1.2.3. El n´ umero 3.1416 aproxima a 3.1415926 en 6 cifras signi-
ficativas, ya que
[3.1415926 −3.1416[
[3.1415926[
= 2.3554932 10
−6
≤ 5 10
−6
Como se observa, no es necesario que coincidan los d´ıgitos de las cifras sig-
nificativas.
Ejercicio 1.2.1. Calcular el n´ umero de cifras significativas con que 9.99
aproxima a 10
Ejercicio 1.2.2. Calcular el n´ umero de cifras significativas con que 1005
aproxima a 1000
1.2.2. Precisi´on y exactitud
El estudio e implementaci´on en computadora de los m´etodos num´ericos
requiere de un cuidado especial en el manejo de los n´ umeros, de forma que los
2
Es importante notar que en la desigualdad (1.1) se utiliza algunas veces < como en
el caso de [5, p´ag. 21]. Se recomienda resolver el ejercicio 1.2.2, para ambas definiciones y
reflexionar sobre sus respuestas.
1.2. CONCEPTOS B
´
ASICOS 5
resultados que entregue un programa sean confiables. Para hablar de dicha
confiabilidad
3
distinguiremos entre los t´erminos precisi´on y exactitud.
Aunque en las aplicaciones es necesario conocer la precisi´on de los datos
de entrada (a un algoritmo), que pueden depender directamente de los ins-
trumentos utilizados
4
, nos concentraremos aqu´ı en la precisi´on de la repre-
sentaci´on de un n´ umero en la memoria de la computadora, lo cual est´a rela-
cionado con la siguiente representaci´on de n´ umeros reales.
Definici´on 1.2.3 (n´ umeros de punto flotante). De-cimos que un n´ umero x
est´a representado como n´ umero de punto flotante si se expresa como
x = ±d
0
.d
1
d
2
d
p−1
β
e
(1.2)
donde p es el n´ umero de d´ıgitos en la mantisa o significando, β es la base y e
es el exponente entero. Adem´as, cuando d
0
,= 0 decimos que est´a en su forma
normalizada .
Ejemplo 1.2.4. El n´ umero 314.159 en representaci´on de punto flotante es
0.314159 10
3
y como punto flotante normalizado 3.14159 10
2
.
Ya que las computadoras digitales trabajan (en su mayor´ıa) con el sis-
tema binario, el est´andar IEEE 754 especifica tanto la representaci´on como
el manejo de los n´ umeros binarios de punto flotante.
5
Definici´on 1.2.4 (n´ umeros binarios de punto flotante normalizado). De-
cimos que un n´ umero x est´a representado como n´ umero binario de punto
flotante normalizado si se expresa como
x = (−1)
s
(1 + f)2
e
(1.3)
donde s es el signo, f es la fracci´on en binario y e el exponente.
La precisi´on de un n´ umero est´a directamente relacionada con el n´ umero
de d´ıgitos en su representaci´on de punto flotante.
3
La revista Reliable Computing se especializa en m´etodos basados en intervalos (entre
otros) que garantizan y acotan todos sus resultados.
4
El Peque˜ no Larousse Ilustrado, 2002 define Precisi´on (de un instrumento de medida)
como la cualidad global de un instrumento que le permite dar indicaciones que coinciden,
con mucha aproximaci´on, con el valor verdadero de la magnitud que debe medirse.
5
Para informaci´on adicional sobre este est´andar puede consultar el excelente art´ıculo
de Goldberg en [10].
6 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Definici´on 1.2.5 (precisi´on en formatos IEEE 754). En base a la ecuaci´ on
(1.3) el est´andar IEEE 754 define los siguientes cuatro tipos de formatos
6
(ver tabla (1.1))que determinan la precisi´on de un n´ umero de punto flotante
(adaptaci´on de [10, pp. 173-174]):
Tabla 1.1: Precisi´on en Formatos IEEE 754
par´ametro Formatos
sencillo s. extendido doble d. extendido
e
max
+127 ≥ 1023 +1023 > 16383
e
min
−126 ≤ −1022 −1022 ≤ −16382
e bits 8 ≤ 11 11 ≥ 15
f bits 23 31 52 ≥ 63
total bits 32 ≥ 43 64 ≥ 79
Ya que 2
−23
≈ 1.19 10
−7
y 2
−52
≈ 2.22 10
−16
, el formato sencillo tiene
una fracci´on con precisi´on de 7 decimales y el formato doble, una precisi´on
de 15 decimales.
Las operaciones con n´ umeros reales tanto en MATLAB
7
como en DrScheme
8
se realizan en doble precisi´on.
Ejemplo 1.2.5. Utilizando la funci´on en Scheme
9
, real->ieee-doble, en la
figura (1.1), podemos obtener la representaci´on en formato de doble precisi´on
mediante para los n´ umeros 0.3 y 64
6
Los formatos extendidos en la tabla 1.1, ofrecen flexibilidad de dise˜ no para los distintos
fabricantes de computadoras. Por ejemplo, para el formato doble extendido, las computa-
doras SPARC y PowerPC ofrecen los siguientes campos (en bits): e = 15, f = 112. En
cambio INTEL ofrece: e = 15 y f = 63 con un bit extra para manejo expl´ıcito del d´ıgito
m´as significativo de la fracci´on.
7
MATLAB (MATrix LABoratory) es uno de los sistemas de software num´erico m´as ex-
itosos en la actualidad. Para una introducci´on sobresaliente, orientada a m´etodos num´eri-
cos, se le invita a consultar el libro de Cleve Moler [18]
8
Una de las implementaciones m´as completas del lenguaje de programaci´on Scheme, el
cual emplearemos a lo largo del texto para ilustrar e implementar los m´etodos num´ericos.
Para una excelente introducci´on se recomienda el tutorial de Dorai Sitaram [25]
9
Esta funci´on as´ı como el resto de las utilizadas en este libro, podr´an ser obtenidas
(eventualmente) visitando http://cemati.com/math/areas/scheme/, o bien el sitio de dis-
tribuci´on PLaneT Package Repository en [21]. Se recomienda instalar PLT-Scheme versi´on
4.1 (o superior) disponible en http://www.plt-scheme.org, y por el momento, sencillamente
copiar el archivo slab.ss (que complementa este libro) al folder PLT de su instalaci´on.
1.2. CONCEPTOS B
´
ASICOS 7
> ( r eal −>i eee −dobl e 0. 3)
(”0” ”01111111101”
”0011001100110011001100110011001100110011001100110011”)
> ( r eal −>i eee −dobl e 64)
(”0” ”10000000101”
”0000000000000000000000000000000000000000000000000000”)
>
Ya que (0.3)
10
= (0.10011)
2
nunca podr´a representarse de forma exacta
en un sistema binario finito.
Como se observa en el ejemplo 1.2.5 hay n´ umeros reales (de hecho una
cantidad infinita) que no podr´an ser representados en forma exacta en un
sistema num´erico de base fija. Note adem´as que el exponente e

en el formato
IEEE 754 obedece (en el caso de doble precisi´on) a la ecuaci´on e = e

−1023.
Ejercicio 1.2.3. Confirme los resultados del ejemplo 1.2.5, utilizando la
ecuacion 1.3.
Ejercicio 1.2.4. Determine las representaciones en binario de punto flotante
normalizado (en formato de doble precisi´on) de los siguientes n´ umeros en base
10
a) −0.1
b) 1024
c) 1.1920928955078125e −007
Problema 1.2.1. Ya que la recta de los flotantes no “cubre” la recta real,
calcular la distancia que existe entre los siguientes n´ umeros reales y sus dos
n´ umeros flotantes vecinos
10
bajo el formato de doble precisi´on del est´andar
IEEE 754:
a) 2008.09 10
77
b) 64.3
c) −444.7 10
−27
10
Esto ser´ıa equivalente a encontrar para un n´ umero real x, funciones piso ¸x| y techo
¸x| pero en el edificio de los n´ umeros flotantes.
8 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Problema 1.2.2. Generalice el resultado del problema 1.2.1 y descubra una
expresi´on o modelo matem´atico para determinar la distancia entre n´ umeros
flotantes consecutivos en intervalos de la forma [2
k
, 2
k+1
], donde k es un
entero en el rango permitido.
En contraste con el concepto de precisi´on que se asocia a la representaci´on
de un n´ umero en particular (p. ej. bajo el formato de doble precisi´on del
est´andar IEEE 754), la exactitud de un n´ umero hace referencia a una cantidad
objetivo, y busca el m´aximo acercamiento posible a dicho objetivo
11
, en el
sentido de la definici´on 1.2.2.
Obtener resultados rigurosos y confiables, con la precisi´on y exactitud ade-
cuadas para cada aplicaci´on es uno de los prop´ositos principales del dise˜ no,
an´alisis e implementaci´on de los m´etodos num´ericos.
Conceptos como convergencia y acotaci´on del error mediante el an´alisis
asint´otico, son claves y se considerar´an en diferentes partes de nuestro texto.
C´odigo Scheme 1.1: Funci´on real->ieee-doble
; r e a l a i e e e de 64−bi t
2 ; numero r e a l −> l i s t a de s t r i ng s
; entrada : r
4 ; s a l i da : ( s e ’ f )
; donde : s cont i ene e l bi t del s i gno
6 ; : e ’ t a l que e=e ’ −1023 , r e pr e s e nt a e l exponente
; : f cont i ene l a f r a c c i o n
8 ( define ( r eal −>i eee −dobl e r )
( i eee8 −>i eee −dobl e
10 (map f i l l −byte
(map (lambda( n) ( number−>s t r i ng n 2) )
12 ( bytes−>l i s t
( r eal −>f l o a t i ng −poi nt−bytes r 8 #t ) ) ) ) ) )
1.2.3. Incertidumbre y sesgo
En el an´alisis de datos num´ericos generalmente podemos tener errores que
tienen que ver con la falta ya sea de precisi´on o de exactitud.
11
Peque˜ no Larousse Ilustrado: exactitud: Cualidad de ser medido, calculado o expresado
con todo rigor: hora exacta.
1.3. TIPOS DE ERRORES 9
Definici´on 1.2.6 (incertidumbre y sesgo). Llamamos incertidumbre o impre-
cisi´on a la falta de precisi´on, y sesgo o inexactitud, a la falta sistem´atica de
exactitud, ya sea por debajo o bien por arriba de la cantidad exacta.
El manejo de la incertidumbre o imprecisi´on puede realizarse mediante
distribuciones de probabilidad, en tanto que el manejo de la inexactitud,
mediante rangos o intervalos.
Ejemplo 1.2.6. Supongamos que un profesor debe iniciar siempre sus clases
a las 7 : 00 am. Si existe incertidumbre, podr´ıa iniciar con una distribuci´on
normal con media de 7 : 05 y desviaci´on est´andar de 1 minuto, lo cual indica
que el 99.7 % de las veces iniciar´ıa en el intervalo [7 : 02, 7 : 08]. Por otro
lado, si existe (solamente) sesgo, entonces empezar´ıa sistem´aticamente (por
ejemplo) a las 7 : 07.
Ejemplo 1.2.7. Si especificamos que el valor de una resistencia el´ectrica es
de 100±5 % Ω, estamos indicando que su valor real debe estar en el intervalo
[95, 105].
Existe actualmente una nueva generaci´on de m´etodos num´ericos basados
en intervalos, rect´angulos, cajas e hipercajas (para espacios mayores que 3D),
cuyo prop´osito es obtener soluciones num´ericas precisas y exactas. Para may-
or informaci´on puede consultar el texto de Aberth [2] y el curso de Warwick
Tucker en [27].
1.3. Tipos de errores
En esta secci´on veremos los tipos esenciales de errores presentes (en mayor
o menor grado) en la aplicaci´on de los m´etodos num´ericos. Adem´as de estos
errores, podemos considerar: el error humano, observaciones inexactas pro-
pios del equipo experimental y errores de modelado. Ver el texto de Friedman
y Kolman [8, pp. 54-55] para ejemplos.
1.3.1. Error absoluto y relativo
Definici´on 1.3.1 (Error absoluto y relativo). Sea x
v
un valor num´erico
verdadero y sea x
c
el valor calculado que aproxima el verdadero, entonces
definimos al error er(x
c
) y al error relativo rel(x
c
), as´ı como sus correspon-
dientes en valores absolutos, como sigue:
10 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
er(x
c
) = x
v
−x
c
(1.4)
er
a
(x
c
) = [x
v
−x
c
[ (1.5)
rel(x
c
) =
x
v
−x
c
x
v
(1.6)
rel
a
(x
c
) =
¸
¸
¸
¸
x
v
−x
c
x
v
¸
¸
¸
¸
(1.7)
Asumiendo claro, que en las ecuaciones (1.6) y (1.7) se cumple x
v
,= 0.
Ejemplo 1.3.1. Calculemos los errores en la definici´on (1.3.1) para el caso de
aproximar el valor de

11 con 3.31. Consideraremos que el valor verdadero de

11 est´a redondeado
12
a siete decimales, es decir x
v
= 3.3166248, entonces:
er(3.31) = 3.3166248 −3.31
= 0.0066248
er
a
(3.31) = [0.0066248[ = 0.0066248
rel(3.31) =
3.3166248 −3.31
3.3166248
= 0.0019975
rel
a
(3.31) = [0.0019975[ = 0.0019975
Los errores relativos tambi´en pueden ser expresados en %. En nuestro caso,
rel(3.31) ≈ 0.20 %.
Ejercicio 1.3.1. Calcule los cuatro errores de la definici´on (1.3.1) para el ca-
so de aproximar el valor verdadero de π/2 con 11/7. Para iniciar sus c´alculos,
favor de utilizar redondeo a siete decimales.
Problema 1.3.1. Extienda la definici´on (1.3.1) especificando c´omo manejar
el caso x
v
= 0.
12
La operaci´on de redondeo aqu´ı es distinta a la que veremos en la secci´on 1.3.2
1.3. TIPOS DE ERRORES 11
1.3.2. Error por redondeo
A diferencia del error “externo” que provocamos cuando redondeamos a
cierto n´ umero de decimales (p. ej. 9.9 a 10), el error por redondeo que interesa
en c´alculo num´erico es el que ocurre en la computadora o calculadora debido
a las limitaciones propias de la representaci´on del n´ umero (digamos en el
sistema de punto flotante de precisi´on sencilla o de doble precisi´on en el
est´andar IEEE 754)
Definici´on 1.3.2 (Error por redondeo). Dado un n´ umero real x y un sistema
de representaci´on de punto flotante que “almacena” x como fl(x), el error
por redondeo es
er
fl
(x) = x −fl(x) (1.8)
El error por redondeo acumulado er
flops
(x, y) es el que resulta despu´es de
realizar una serie de operaciones aritm´eticas de punto flotante (o flops
13
),
donde cada operaci´on contribuye su ”cuota” de error por redondeo. Estas
operaciones aritm´eticas podemos definirlas como:
x ⊕y = fl(fl(x) + fl(y))
x ¸y = fl(fl(x) −fl(y))
x ⊗y = fl(fl(x) fl(y))
x ¸y = fl(fl(x) / fl(y))
(1.9)
Para calcular er
flops
(x, y) es necesario realizar en secuencia cada una de
las flops y en cada etapa (como lo indican las ecuaciones en (1.9)) calcular
el error por redondeo resultante.
Ejemplo 1.3.2 (Moler [17]). Calculemos los resultados de la siguiente se-
cuencia:
a = 4/3
b = a −1
c = b + b + b
e = 1 −c
Una implementaci´on en Scheme resulta en el c´odigo y su ejecuci´on indicado
en la figura 1.1.
13
flops: (del ingl´es) floating point operations. Algunos sistemas (como MATLAB) tienen
la capacidad de contar las flops realizadas durante una serie de c´alculos.
12 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Figura 1.1: Ejemplo de error por redondeo
C´odigo =⇒ Resultado
(define a (/ 4. 3)) ¦a=1.3333333333333333¦
(define b (- a 1)) ¦b= 0.33333333333333326¦
(define c (+ b b b)) ¦c= 0.9999999999999998¦
(define e (- 1 c)) ¦e=2.220446049250313e-016¦
e 2.220446049250313e-016
Note que la primera linea del c´odigo anterior utiliza (define a (/ 4. 3)) para
indicar (con el punto) que 4 es un n´ umero real, simplemente quitando el punto
obtenemos el resultado indicado
14
en la figura 1.2, donde se ha eliminado el
error, debido a que en el lenguaje Scheme, las operaciones aritm´eticas con
enteros y racionales son exactas.
Hay dos errores de redondeo especiales: error de underflow (o bajoflujo,)
cuando x(,= 0) es m´as peque˜ no que el menor (en magnitud ) de los n´ umeros
de punto flotante disponibles y el sistema lo representa como cero (o bien
genera una excepci´on durante el c´alculo).
Por otra parte, se genera un error de overflow (o sobreflujo,) cuando x
excede el m´aximo (en magnitud) de los n´ umeros representables como punto
flotante y el sistema lo representa como +inf o -inf seg´ un sea el caso.
Ejercicio 1.3.2. Explore y descubra cu´ales son los n´ umeros que generan
underflow o bien overflow bajo diferentes sistemas (p. ej. en MATLAB y PLT
Scheme).
Para medir el error por redondeo utilizamos ya sea el error relativo o bien
las ulps
15
. En general (como lo indica Goldberg en [10]) si el n´ umero de punto
14
Los resultados entre llaves, indican que no hay resultado en pantalla; s´olo se actualiza
la tabla de asociaciones entre variables y valores.
15
ulps: units of the last place, unidades de la ´ ultima posici´on.
1.3. TIPOS DE ERRORES 13
Figura 1.2: Ejemplo de eliminaci´on del error por redondeo, al utilizar n´ umeros
racionales
C´odigo =⇒ Resultado
(define a (/ 4 3)) ¦a = 1
1
3
¦
(define b (- a 1)) ¦b =
1
3
¦
(define c (+ b b b)) ¦c = 1¦
(define e (- 1 c)) ¦e = 0¦
e 0
flotante d
0
.d
1
d
p−1
β
e
se utiliza para representar x, entonces se tendr´a un
error en ulps de:
er
fl
(x) = [d
0
.d
1
d
p−1
−(x/β
e
)[ β
p−1
(1.10)
Ejercicio 1.3.3. Utilizando la ecuaci´on (1.10) calcule el error por redondeo
en ulps para el caso de aproximar 0.0123456 con 1.23 10
−2
.
Proyecto 1.1. Dise˜ ne e implemente un programa en Scheme (o en el lenguaje
de su preferencia) que ofrezca la funcionalidad de definir un sistema de punto
flotante parametrizado, y permita realizar experimentos y c´alculo de errores,
en secuencias de operaciones aritm´eticas.
1.3.3. Error por truncamiento
De forma similar al caso del error por redondeo, hay que distinguir entre
el error “externo” que provocamos cuando truncamos un n´ umero a cierta
cantidad de decimales (p. ej. 9.99 a 9.9) y el error de truncamiento que interesa
fundamentalmente en el an´alisis num´erico. Este ´ ultimo tiene que ver con la
famosa serie de Taylor
16
y la propiedad de que toda funci´on anal´ıtica puede
ser aproximada mediante polinomios.
16
Brook Taylor (1685-1731). Analista, ge´ometra y fil´osofo ingl´es. Public´o libros de pers-
pectiva y diferencias finitas.
14 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Teorema 1.3.1 (Teorema de Taylor). Sea f(x) una funci´on en los reales
definida en el intervalo [a, b] y que satisface
1. f(x) ∈ C
n
[a, b]
2. f
n+1
(x) existe para x ∈ (a, b)
Entonces, para cualesquier x
0
, x en [a, b],
f(x) =
n

k=0
f
(k)
(x
0
)
k!
(x −x
0
)
k
+ R
n
(x) (1.11)
donde R
n
(x) =
f
(n+1)
(cx)
(n+1)!
(x − x
0
)
n+1
(para c
x
entre x
0
y x inclusive) se de-
nomina residuo y a la sumatoria llamamos polinomio de Taylor
17
de orden
n, denotado por P
n
(x). Cuando fijamos x
0
, la ecuaci´on (1.11) se denomina
expansi´on de Taylor de orden n de f(x) alrededor de x
0
. Adem´as si hacemos
h = x − x
0
podemos expresar el orden de crecimiento
18
del residuo como
R
n
(x) = O(h
n+1
) 3
Demostraci´on. (Adaptada de Banach [3] pp. 114-116) Consideremos la ecuaci´on:
f(x) = f(x
0
) +
x −x
0
1!
f

(x
0
) +
(x −x
0
)
2
2!
f

(x
0
) +
+
(x −x
0
)
n
n!
f
(n)
(x
0
) + w(x −x
0
)
n+1
Si la ecuaci´on anterior ha de cumplirse, encontraremos que w deber´a ser igual
a
f
(n+1)
(ξ)
(n+1)!
(que corresponde al factor correspondiente en R
n
(x)) para un valor
de ξ entre x
0
y x.
Definamos ϕ(t) como sigue:
ϕ(t) = f(x) −f(t) −
x −t
1!
f

(t) −
(x −t)
2
2!
f

(t) −

(x −t)
n
n!
f
(n)
(t) −w(x −t)
n+1
17
Cuando x
0
= 0 el nombre de la serie cambia a serie de MacLaurin, en honor a Colin
MacLaurin (1698-1746) matem´atico y f´ısico escoc´es.
18
La notaci´on b´asica para orden de crecimiento es (usando nuestra “variable” h) O(g(h))
(pron. “O grande” de g(h)) y nos proporciona una estimaci´on del error. Si escribimos
f(h) = O(g(h)) (para toda h) esto significa que existe una constante C tal que se cumple
[f(h)[ ≤ C[g(h)[ (para toda h). Para un excelente tratamiento de este tema y del an´alisis
asint´otico se recomienda el libro de Graham, Knuth y Patashnik [11, pp. 443-463].
1.3. TIPOS DE ERRORES 15
Observamos que se cumple ϕ(x
0
) = ϕ(x) = 0. Si ahora derivamos ϕ(t) con
respecto a t obtenemos:
ϕ

(t) = −f

(t) −
_
x −t
1!
f

(t) −f

(t)
_

_
(x −t)
2
2!
f
(3)
(t) −
x −t
1!
f

(t)
_


_
(x −t)
n
n!
f
(n+1)
(t) −
(x −t)
(n−1)
(n −1)!
f
(n)
(t)
_
+ w(n + 1)(x −t)
n
Simplificando la ecuaci´on anterior (cancelando t´erminos iguales) obtenemos:
ϕ

(t) = −
(x −t)
n
n!
f
(n+1)
(t) + w(n + 1)(x −t)
n
Aplicando ahora el teorema de Rolle
19
, sabemos que existe una ξ entre x y
x
0
tal que ϕ

(ξ) = 0, por tanto:
w(n + 1)(x −t)
n
=
(x −t)
n
n!
f
(n+1)
(t)
de donde obtenemos el resultado deseado:
w =
f
(n+1)
(ξ)
(n+1)!
, con ξ entre x y x
0
.
Nota: La f´ormula para el residuo en el teorema anterior garantiza que
[R
n
(x)[ ≤ [
ˆ
R
n
(x)[, donde:
ˆ
R
n
(x) =
M
x
(n + 1)!
(x −x
0
)
n+1
(1.12)
donde M
x
= max¦f
(n+1)
(c
x
)¦ tal que c
x
est´a entre x
0
y x inclusive. De esta
forma, [
ˆ
R
n
(x)[ nos proporciona una cota superior efectiva para la magnitud
del residuo.
19
Michel Rolle (1652-1719). Matem´atico franc´es, especialista en an´alisis, ´algebra y ge-
ometr´ıa. El teorema de Rolle nos dice que si una curva continua cruza el eje x en dos
puntos y tiene una tangente en todos sus puntos intermedios, entonces tiene al menos una
tangente paralela al eje x.
16 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Ejemplo 1.3.3. Calculemos P
3
(x) alrededor de x
0
= 0 para la funci´on e
x
, y
estimemos
ˆ
R
3
(x).
P
3
(x) =
e
0
0!
x
0
+
e
0
1!
x
1
+
e
0
2!
x
2
+
e
0
3!
x
3
= 1 + x +
1
2
x
2
+
1
6
x
3
R
3
(x) =
e
cx
4!
x
4
ˆ
R
3
(x) =
M
x
24
x
4
donde, debido a que la funci´on e
x
es creciente, tenemos:
M
x
=
_
1 x ≤ 0
e
x
x > 0
Ejercicio 1.3.4. Calcule P
3
(x), el polinomio de aproximaci´on de Taylor de
orden 3, alrededor de x
0
= 0, as´ı como el residuo R
e
(x), para la funci´ on
f(x) = cos(x/2),
Definici´on 1.3.3 (Error por truncamiento). Decimos que existe un error por
truncamiento, cuando no podemos calcular un valor verdadero y
v
de forma
expl´ıcita y tenemos que reemplazarlo por un c´alculo aproximado y
c
, y lo
denotamos por er
tr
(y
v
) = y
v
−y
c
. Normalmente, la aproximaci´on y
c
se obtiene
mediante la suma de los primeros t´erminos de una serie infinita convergente.
Ejemplo 1.3.4. Utilizando el resultado del ejemplo (1.3.3), calculemos los
errores de truncamiento, cuando:
a) Aproximamos e con P
3
(1)
b) Aproximamos e
−1
con P
3
(−1)
Para el caso (a), tenemos y
v
= e y y
c
= P
3
(1), por lo cual, utilizando siete
decimales obtenemos: y
v
= 2.7182818, y
y
c
= 1 + 1 +
1
2
(1)
2
+
1
6
(1)
3
= 2 + 1/2 + 1/6
= 8/3
1.4. SOFTWARE DE C
´
OMPUTO NUM
´
ERICO 17
Ya que 8/3 = 2.6666667 (redondeando a siete decimales,) entonces
er
tr
(2.7182818) = 2.7182818 −2.6666667 = 0.0516151.
Para el caso (b) tenemos y
v
= e
−1
y y
c
= P
3
(−1), por lo cual, utilizando
siete decimales obtenemos: y
v
= 0.3678794, y
y
c
= 1 + (−1) +
1
2
(−1)
2
+
1
6
(−1)
3
= 0 + 1/2 −1/6
= 1/3
Ya que 1/3 = 0.3333333 (redondeando a siete decimales,) entonces
er
tr
(0.3678794) = 0.3678794 −0.3333333 = 0.0345461.
Ejercicio 1.3.5. Verifique que los errores de truncamiento encontrados en el
ejemplo (1.3.4), estan por debajo de los
ˆ
R
3
(x) correspondientes encontrados
en el ejemplo (1.3.3).
1.3.4. Error num´erico total
Por lo visto hasta este punto, los m´etodos num´ericos requieren un cuida-
doso reconocimiento y estudio de los errores involucrados.
Definici´on 1.3.4 (Error num´erico total). El error num´erico total es la suma
de los errores por redondeo y los errores por truncamiento.
Los errores por redondeo y por truncamiento guardan una relaci´on muy
interesante que se˜ nala Chapra y Canale [6, pp. 97-99] y denominan princi-
pio de incertidumbre num´erica, ya que conforme aumenta el incremento h
(p. ej. (x − x
0
) en la expansi´on de Taylor) tambi´en aumenta el error por
truncamiento, y para reducirlo es necesario aumentar el n´ umero de t´erminos
en la sumatoria, pero al hacerlo aumenta el n´ umero de operaciones de punto
flotante, lo que aumenta el error por redondeo. Se trata entonces de encontrar
un punto de equilibrio a partir del cual, se tienen rendimientos decrecientes.
1.4. Software de c´omputo num´erico
El software num´erico actual
20
ofrece un panorama muy prometedor, ya
que adem´as de la calidad en los programas y la b´ usqueda de conectividad en-
20
Que incluye con frecuencia funcionalidad propia de los CAS (Computer Algebra Sys-
tems).
18 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
tre los diferentes sistemas, tambi´en se busca estandarizar algunos aspectos de
la sem´antica (ver p. ej. la iniciativa del Numerical Mathematics Consortium
[20]).
1.4.1. Software de acceso libre
Entre los sistemas de acceso libre orientados al software num´erico se pode-
mos incluir:
Axiom: sistema de ´algebra computacional (con MathAction)
Calc3D: software para c´alculo y graficaci´on orientado a geometr´ıa y
estad´ıstica
EULER: poderoso laboratorio de computaci´on num´erica (con Yacas)
FreeMat: Colecci´on de funciones b´asicas para matem´aticas
GnuPlot: Excelente graficador de dominio p´ ublico (no GNU)
Jacal: Sistema de ´algebra computacional basado en Scheme
Mathscribe: herramientas para mentes cient´ıficas
NonEuclid: software interactivo en Java para geometr´ıa hiperb´olica
Octave: excelente sistema afin a MATLAB
PyLab: una colecci´on de funciones para c´alculo num´erico y visualizaci´on.
Basado en Python
RLab: laboratorio para computaci´on num´erica
Sage: Sistema integrador de gran potencia y versatilidad que incluye
otros paquetes matem´aticos Open Source de alta calidad.
http://www.sagemath.org
Scilab: uno de los paquetes de computaci´on num´erica y cient´ıfica m´as
importantes y exitosos (desarrollado en el instituto franc´es INRIA)
Singular: un sistema de ´algebra computacional para computaci´on con
polinomios
1.4. SOFTWARE DE C
´
OMPUTO NUM
´
ERICO 19
Surf: software para visualizaci´on de geometr´ıa algebraica real
Winplot: un programa sencillo pero muy vers´atil para graficar funciones
matem´aticas
wxMaxima: un paquete cl´asico para matem´aticas num´ericas y com-
putaci´on simb´olica. Sistema basado en Lisp
1.4.2. Software comercial
Entre los sistemas m´as relevantes tenemos:
Derive: Sistema shareware para c´omputo num´erico y simb´olico.
LabView: Plataforma de c´omputo num´erico y simulaci´on con ´enfasis en
sistemas electr´onicos empotrados, de gran importancia en la industria
MAPLE: Sistema preferido en ambientes acad´emicos y cuyo n´ ucleo de
procesamiento simb´olico se incorpora en otros sistemas comerciales
MathCAD: Editor de documentos que integra valiosas capacidades de
c´omputo num´erico y de visualizaci´on
Mathematica: Sofisticado y muy exitoso sistema de c´omputo num´erico
y simb´olico, con grandes capacidades de visualizaci´on
MATLAB: Abreviaci´on de “MATrix LABoratory”, este es el sistema
est´andar en aplicaciones de ingenier´ıa
Scientific Workplace: Excelente editor cient´ıfico de gran flexibilidad y
que integra MAPLE como su n´ ucleo de computaci´on simb´olica
1.4.3. Bibliotecas de funciones
Orientadas principalmente a la eficiencia en la soluci´on de sistemas lin-
eales de dimensi´on muy grande, estas bibliotecas son esenciales para el desar-
rollo de aplicaciones en la industria, as´ı como en laboratorios de investigaci´on.
Entre las m´as recomendadas podemos mencionar:
IMSL
JavaNumerics
20 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
LAPACK/BLAS
EISPACK
LINPACK
NAG
En las pr´oximas revisiones se presentar´an referencias y una breve descrip-
ci´on de estos importantes sistemas de apoyo a la computaci´on num´erica.
1.5. M´etodos iterativos
A diferencia de los m´etodos directos donde la soluci´on a una ecuaci´on
o sistema de ecuaciones se logra siempre “al primer intento” siguiendo paso
a paso un procedimiento determinado
21
, los m´etodos iterativos obtienen
la soluci´on como resultado de una serie de aproximaciones generadas sucesi-
vamente a partir de una “aproximaci´on inicial a la soluci´on”.
Definici´on 1.5.1 (M´etodo iterativo). Llamamos M´etodo iterativo (uni-
variable) a un procedimiento que acepta:
a) f(x), la funci´on a iterar
22
, tal que ran(f) ⊆ dom(f) y adem´as cumple
cierto criterio de convergencia
23
b) x
0
∈ dom(f), la aproximaci´on inicial a la soluci´on
c) , la tolerancia del error
y encuentra, mediante un n´ umero finito de iteraciones, una soluci´on aproxi-
mada x

(con error ≤ ) , para la ecuaci´on x = f(x). Llamamos punto fijo
al valor x que cumple x = f(x).
Normalmente, la implementaci´on de un m´etodo iterativo incluye como
par´ametro adicional, el n´ umero m´aximo de iteraciones permitidas, para el
21
Como ejemplo podemos mencionar el procedimiento para calcular la derivada de una
funci´on que veremos en la secci´on 4.1
22
Iterar una funci´on significa aqu´ı, aplicarla repetidamente, p. ej. x
3
:= f(f(f(x
0
)))
asigna a x
3
el valor de la tercera iteraci´on de f aplicada a x
0
23
P. ej. la condici´on de Lipschitz, que veremos en la secci´on 2.3.1
1.5. M
´
ETODOS ITERATIVOS 21
caso en que se utilice una funci´on que no cumpla con el criterio de conver-
gencia.
En la figura 1.2 presentamos el c´odigo Scheme para una m´aquina itera-
tiva b´asica, que utilizando el enfoque de programaci´on orientada a objetos,
implementa el m´etodo iterativo univariable de la definici´on 1.5.1 anterior.
Ejemplo 1.5.1. Resolvamos la ecuaci´on x = cos(x +
1
4
) con ayuda de la
funci´on crea-mit.
> ( define mit ( crea−mit ’ g (lambda( x)
(+ ( cos x) 1/4) )
0. 01 15) )
> ( mit ’ i t e r a 0. 7)
(0 : 0. 7)
(1 : 1. 0148421872844886)
(2 : 0. 7777539838103506)
(3 : 0. 9624913205131414)
(4 : 0. 8214773395993339)
(5 : 0. 9311403125086086)
(6 : 0. 8469194965541674)
(7 : 0. 9122943326484682)
(8 : 0. 8619327515053936)
(9 : 0. 900971529122722)
(10 : 0. 8708486501259518)
(11 : 0. 8941776672648917)
(12 : 0. 8761601962888252)
(13 : 0. 8901059258316943)
( 0. 7
converge
a
0. 8793297110716177
en
14
i t e r a c i o n e s )
>
22 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
C´odigo Scheme 1.2: Funci´on crea-mit para crear una m´aquina iterativa b´asica
; ; f unci ´on crea−mit ( rev . 02 , 2008−05−27; en mit . scm)
2 ; ; pr op´os i t o : : c r e ar una M´aquina I Ter at i va (MIT) b´as i ca
; ; at r i but os : : i d f : s t r i ng ; i d de l a f unci ´on
4 ; ; f : pr ocedi mi ent o ; f unci ´on a i t e r a r
; ; e ps i : r e a l ; t o l e r a nc i a
6 ; ; n : ent er o po s i t i vo ; m´ax de i t e r a c i o n e s
; ; m´etodos : : ’ show −> pr es ent a l o s at r i but os
8 ; ; ’ i t e r a <r eal > −> i t e r a empezando con <r eal >
; ; ’ f un <proced> −> r e de f i ne l a f unci ´on f
10 ; ; ’ i d f <s t r i ng > −> r e de f i ne nombre f unci ´on
; ;
12 ( define ( crea−mit i d f f e ps i n)
( l et ( ( i mi t i d f ) ( f mi t f ) ( emi t e ps i ) ( nmit n) )
14 (lambda( mensaje . param)
( cas e mensaje
16 ( ( i t e r a )
( di s pl ay ‘ ( 0 : , ( car param) ) ) ( newl i ne )
18 (do ( ( k 1 (+ k 1) )
( xp ( car param) ( f mi t xp ) )
20 ( x ( f mi t ( car param) ) ( f mi t x ) ) )
( ( or (<= ( abs (− x xp ) ) emi t )
22 (>= k nmit ) )
( i f (<= k nmit )
24 ‘ ( , ( car param) converge a , x en
, k i t e r a c i o n e s )
26 ‘ ( , ( car param) no converge en
, k i t e r a c i o n e s ) ) )
28 ( di s pl ay ‘ ( , k : , x , ( f mi t x) , ( abs (− x xp ) ) ) )
( newl i ne ) ) )
30 ( ( f un ) ( s e t ! f mi t ( car param) ) )
( ( eps ) ( s e t ! emi t ( car param) ) )
32 ( ( i d ) ( s e t ! i mi t ( car param) ) )
( ( show) ( di s pl ay ‘ ( ”MIT” i df =, i mi t eps=
34 , emi t n=, nmit ) )
( newl i ne ) )
36 ( el se ‘ ( no conozco e l mensaje , mensaje ) ) ) ) ) )
1.5. M
´
ETODOS ITERATIVOS 23
Nota: en la secci´on 3.1, veremos m´etodos iterativos aplicados a la soluci´on
de sistemas de ecuaciones lineales de la forma Ax = b.
24 CAP
´
ITULO 1. TEOR
´
IA DE ERRORES
Cap´ıtulo 2
M´etodos de soluci´on de
ecuaciones
Presentamos aqu´ı algunos m´etodos num´ericos fundamentales para la solu-
ci´on de una ecuaci´on no lineal univariable. Los sistemas de ecuaciones
no lineales ser´an tratados en el siguiente cap´ıtulo.
2.1. M´etodos basados en intervalos
Cuando para encontrar la soluci´on a una ecuaci´on, digamos f(x) = 0
partimos de un intervalo [a, b] dentro del cual sabemos que se encuentra la
soluci´on, y paso a paso reducimos dicho intervalo hasta obtener [a
n
, b
n
] tal
que [b
n
−a
n
[ < , para > 0 como la tolerancia, decimos que hemos utilizado
un m´etodo de intervalo o m´etodo cerrado.
El m´etodo de intervalo cl´asico es el m´etodo de bisecci´on de Bolzano, que
veremos en la secci´on siguiente (2.2).
Como se mencion´o en la secci´on 1.2.2, recientemente se han desarrollado
m´etodos basados en intervalos (en general hiper-cajas) que van “encerrando”
la soluci´on en regiones cada vez m´as peque˜ nas, logrando con ello lo que ac-
tualmente se conoce como computaci´on confiable (en ingl. reliable computing).
Para mayores detalles sobre estos nuevos m´etodos se recomienda consultar
[27].
25
26 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
2.2. M´etodo de bisecci´on
El m´etodo de bisecci´on se basa en el siguiente teorema de Bolzano
1
Teorema 2.2.1 (Teorema de Bolzano). Una funci´on f : R →R es cero de
al menos un valor de x entre a y b si f es continua en el intervalo cerrado
[a, b] y f(a) y f(b) tienen signos opuestos.
La estrategia de este m´etodo, es partir de un intervalo [a, b] que cumple la
condici´on f(a)f(b) < 0 y en cada iteraci´on bisectarlo para obtener un nuevo
intervalo [a
1
, b
1
] que tambi´en cumple con f(a
1
)f(b
1
) < 0 , hasta obtener un
intervalo [a
n
, b
n
] que cumple f(a
n
)f(b
n
) < 0 pero adem´as [b −a[ ≤ , para
un correspondiente a la tolerancia del error.
Presentamos a continuaci´on el algoritmo resultante:
Algoritmo 2.1 M´etodo de bisecci´on
Dado: f: funci´on asociada a la ecuaci´on f(x) = 0 a resolver, a y b: valores
iniciales que cumplen f(a)f(b) < 0, : tolerancia del error.
Entrega: c: la soluci´on aproximada a la ecuaci´on f(x) = 0 con un error ≤ .
Bisecci´ on(f, a, b, )
2: repeat
s ←(a + b)/2
4: if f(s) = 0 then caso excepcional
return s
6: else if f(a)f(s) < 0 then
b ←s
8: else
a ←s
10: end if
until [b −a[ ≤
12: return s
end
Ejemplo 2.2.1. La siguiente interacci´on con la funci´on biseccion (ver c´odi-
go 2.1) nos permite resolver cos(x) = 0 con una tolerancia de 10
−3
mediante
el m´etodo de bisecci´on, utilizando a = 0 y b = 2.
1
Bernhard Bolzano (1781-1848), matem´atico checoescovaco especializado en an´alisis,
cuyo trabajo ayud´o a establecer la importancia de las demostraciones rigurosas [14].
2.2. M
´
ETODO DE BISECCI
´
ON 27
C´odigo Scheme 2.1: Funci´on biseccion asociada al algoritmo 2.1
; ; implementa e l m´etodo de bi s e c c i ´o n
2 ; ; asume : f ( a0 ) f ( b0)<0
( define ( bi s e c c i o n f a0 b0 ep )
4 ( l et c i c l o ( ( a a0 ) ( b b0 ) )
( l et ( ( s (/ (+ a b) 2) ) ) ; bi s e c c i o n de [ a , b ]
6 (cond [ ( zer o ? ( f s ) ) s ] ; f ( s )=0? => ent r ega s
[( < ( abs (− b a ) ) ep ) ; cumple t o l e r a nc i a ?
8 s ] ; ent r ega s
[( < (∗ ( f a ) ( f s ) ) 0) ; f ( a ) f ( s )<0?
10 ( c i c l o a s ) ] ; busca en [ a , s ]
[ el se ( c i c l o s b ) ] ) ) ) ) ; busca en [ s , b ]
> ( bi s e c c i o n cos 0 2. . 001)
1. 57080078125
A continuaci´on presentamos las interacciones resultantes al resolver este
problema mediante la funci´on biseccion-data (presentada en el c´odigo 2.2)
> ( bi s e c c i on −data cos 0 2. . 001 6)
(1. 57080078125
−4. 454455103366037e−006
(0 0 2. 0)
(1 1. 0 2. 0)
(2 1. 5 2. 0)
(3 1. 5 1. 75)
(4 1. 5 1. 625)
(5 1. 5625 1. 625)
(6 1. 5625 1. 59375)
(7 1. 5625 1. 578125)
(8 1. 570312 1. 578125)
(9 1. 570312 1. 574219)
(10 1. 570312 1. 572266)
(11 1. 570312 1. 571289) )
Note que en este caso, la funci´on entrega una lista que contiene respectiva-
mente, la soluci´on s, el error f(s) y los datos de las iteraciones en la forma
28 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
(k
i
a
i
b
i
).
C´odigo Scheme 2.2: Funci´on biseccion-data asociada al algoritmo 2.1
; ; implementa e l m´etodo de bi s e c c i ´o n
2 ; ; ent r ega ( s ol uc i on e r r or data )
; ; donde : data = ¦ i a ( i ) b( i )¦
4 ; ; asume : f ( a0 ) f ( b0)<0
( define ( bi s e c c i on −data f a0 b0 ep decs )
6 ( l et ( ( f t ( make−f ormater−round−decs decs ) )
( data ’ ( ) ) )
8 ( l et c i c l o ( ( a a0 ) ( b b0 ) ( k 0) )
( s e t ! data ( cons ( l i s t k ( f t a ) ( f t b) )
10 data ) )
( l et ( ( s (/ (+ a b) 2) ) )
12 (cond [ ( zer o ? ( f s ) ) ; caso e xc e pc i onal
( cons s ( cons 0 ( r e ve r s e data ) ) ) ]
14 [( < ( abs (− b a ) ) ep ) ; cumple t o l e r a nc i a ?
( cons s ( cons ( f s ) ; ent r ega s , f ( s )
16 ( r e ve r s e data ) ) ) ] ; y data en orden
[( < (∗ ( f a ) ( f s ) ) 0) ; f ( a ) f ( s )<0?
18 ( c i c l o a s (+ k 1 ) ) ] ; busca en [ a , s ]
[ el se ( c i c l o s b ; busca en [ s , b ]
20 (+ k 1 ) ) ] ) ) ) ) )
Sugerencia 2.1. Si la funci´on f(x) de nuestro problema no es muy conoci-
da, o demasiado laboriosa para bosquejar “a mano”, se recomienda utilizar
alguno de los paquetes de software matem´atico vistos en la secci´on 1.4, y
hacer un an´alisis gr´afico de la funci´on, para determinar el n´ umero de ceros
dentro de cierto intervalo, as´ı como para determinar los valores cercanos a
dicho cero(s). Este an´alisis ser´a especialmente importante para el m´etodo de
Newton-Raphson que veremos en la secci´on 2.4.1.
Ejemplo 2.2.2. Resolvamos ahora la ecuaci´on 3cos(
x
2
) + 2 = 0 con una
tolerancia de 10
−2
, llamando a la funci´on biseccion-data para a = 1 y
b = 6.
>( bi s e c c i on −data (lambda( x)(+ (∗ 3 ( cos (/ x 2) ) ) 2) )
1 6. 0. 01 6)
2.2. M
´
ETODO DE BISECCI
´
ON 29
( 4. 5986328125
0. 002701681335155026
(0 1 6. 0)
(1 3. 5 6. 0)
(2 3. 5 4. 75)
(3 4. 125 4. 75)
(4 4. 4375 4. 75)
(5 4. 59375 4. 75)
(6 4. 59375 4. 671875)
(7 4. 59375 4. 632812)
(8 4. 59375 4. 613281)
(9 4. 59375 4. 603516) )
La figura 2.2 nos permite visualizar el proceso para este ejemplo.
Figura 2.1: Bisecciones para el ejemplo 2.2.2
30 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
Ejercicio 2.2.1. Encuentre todos los ceros de las siguientes funciones en el
intervalo indicado y para la precisi´on indicada.
a). f(x) =
_
2
πx
cos(x −
π
4
) en [1, 7], con = 0.001
b). f(x) = xsenh(x −2) −100, en [−4, 8], con = 10
−7
Problema 2.2.1. ¿Cu´al es el n´ umero m´aximo posible de iteraciones del
m´etodo de bisecci´on, dado un intervalo [a, b] y un valor para ?
Problema 2.2.2. Una vez resuelto el problema 2.2.1, encuentre una funci´ on
f(x) as´ı como su intervalo [a, b] y asociado, de manera que se encuentre el
cero justo en el n´ umero m´aximo de iteraciones.
Sugerencia 2.2. Explore algunas otras implementaciones del m´etodo de bisec-
ci´on. Se recomienda especialmente revisar ejemplos en MATLAB o si-milares.
2.3. M´etodo de aproximaciones sucesivas
Este m´etodo, conocido tambi´en como m´etodo de punto fijo o m´etodo itera-
tivo est´andar es uno de los m´etodos recomendados cuando queremos resolver
una ecuaci´on de la forma x = f(x) y la funci´on f(x) cumple ciertas condi-
ciones como lo veremos en las siguientes dos secciones.
2.3.1. Condici´on de Lipschitz
Definici´on 2.3.1 (Condici´on de Lipschitz). Una funci´on f(x) definida en el
intervalo [a, b] se dice que satisface una condici´on de Lipschitz, si existe una
constante L > 0 tal que
[f(x
1
) −f(x
2
)[ ≤ L[x
1
−x
2
[ (2.1)
para cualquier par de n´ umeros x
1
, x
2
∈ [a, b].
Observamos que cualquier funci´on f(x) donde la expresi´on
|f(x
1
)−f(x
2
)|
|x
1
−x
2
|
se
pueda simplificar a
K
g(x
1
,x
2
)
, donde K es una constante y el valor de g(x
1
, x
2
) se
pueda hacer arbitrariamente peque˜ no para x
1
, x
2
∈ [a, b], no puede satisfacer
una condici´on de Lipschitz.
2.3. M
´
ETODO DE APROXIMACIONES SUCESIVAS 31
Si f(x) ∈ C
1
[a, b] (es decir, si f

(x) existe y es continua) entonces f(x)
satisface tambi´en una condici´on de Lipschitz. Esto se cumple ya que, por el
teorema del valor medio para derivadas existe una c entre x
1
y x
2
tal que:
f

(c) =
f(x
1
) −f(x
2
)
x
1
−x
2
(2.2)
y entonces, [f(x
1
) −f(x
2
)[ = [f

(c)(x
1
−x
2
)[ ≤ L[x
1
−x
2
[, para cualesquiera
x
1
, x
2
∈ [a, b].
2.3.2. Iteraci´on y convergencia
El m´etodo de aproximaciones sucesivas, m´etodo iterativo y tambi´en
conocido como m´etodo de punto fijo, es uno de los m´etodos m´as sencillos
e ilustra (a diferencia del m´etodo de bisecci´on) el caso cuando no se tiene
garant´ıa de obtener la soluci´on. Por tal motivo, el tema central aqu´ı es el
concepto de convergencia de una sucesi´on de aproximaciones.
Definici´on 2.3.2 (Velocidad de convergencia). Sea ¦x
n
¦

n=1
una sucesi´on
de aproximaciones que convergen a s, de forma que l´ım
n→∞
x
n
= s. Si la
sucesi´on de errores ¦
n
¦

n=1
(donde
n
= x
n
−s) satisface
l´ım
n→∞
[
n+1
[
[
n
[
α
= K, K > 0 (2.3)
para algunos n´ umeros fijos α, K, entonces α es el orden de convergencia para
¦x
n
¦, y K es la constante asint´otica o factor de convergencia.
En base a la definici´on anterior, destacamos los casos para cuando α = 1,
y α = 2 que corresponden a convergencia lineal, y convergencia cuadr´atica
respectivamente.
El algoritmo 2.2 describe el m´etodo.
32 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
Algoritmo 2.2 M´etodo de punto fijo
Dado: f: funci´on asociada a la ecuaci´on f(x) = x a resolver, x
0
: valor inicial
de la soluci´on, : tolerancia del error, m: n´ umero m´aximo de iteraciones
permitidas.
Entrega: s: la soluci´on aproximada a la ecuaci´on f(x) = x con un error ≤ ,
o bien el mensaje: “sin convergencia en m iteraciones” si la soluci´on no
converge en las iteraciones y la precisi´on deseada.
Punto-Fijo(f, x
0
, , m)
2: if f(x
0
) = x
0
then caso excepcional
return x
0
4: else
n ←0
6: repeat
x
n+1
←f(x
n
)
8: n ←n + 1
until [x
n
−x
n−1
[ ≤ ´o n > m
10: if [x
n
−x
n−1
[ ≤ then
return x
n
12: else
return “sin convergencia en m iteraciones”
14: end if
end if
16: end
Presentamos en el listado 2.3, una implementaci´on b´asica del m´etodo.
2.3. M
´
ETODO DE APROXIMACIONES SUCESIVAS 33
C´odigo Scheme 2.3: Funci´on punto-fijo asociada al algoritmo 2.2
; ; implementa e l m´etodo de punto f i j o
2 ( define ( punto−f i j o f x0 eps m)
( i f (= (− ( f x0 ) x0 ) 0) ; f ( x0)=x0?
4 x0 ; ent r ega x0
( l et c i c l o ( ( k 1) ( x ( f x0 ) ) ) ; x1=f ( x0 )
6 (cond
((<= ( abs (− x ( f x ) ) ) eps ) ; [ f ( x)−x[<eps
8 ( f x ) ) ; ent r ega f ( x)
((> k m) ; k>m?
10 ( s t r i ng −append
” s i n conver genci a en ” ( number−>s t r i ng m)
12 ” i t e r a c i o n e s ”) ) ; mensaje
( el se ; eoc
14 ( c i c l o (+ k 1) ( f x ) ) ) ) ) ) ) ; x( k+1)=f [ x( k ) ]
Una variante de la funci´on punto-fijo que nos da informaci´on adicional se
presenta en el listado 2.4.
34 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
C´odigo Scheme 2.4: Funci´on punto-fijo-data asociada al algoritmo 2.2
; ; implementa e l m´etodo de punto f i j o
2 ; ; ent r ega ( ( s ol uc i on [ mensaje ) e r r or data )
; ; donde : data = ¦ i f [ x( i ) ] ¦
4 ( define ( punto−f i j o −data f x0 eps m decs )
( l et ( ( f t ( make−f ormater−round−decs decs ) )
6 ( data ( l i s t ( l i s t 0 x0 ) ) ) )
( i f (= (− ( f x0 ) x0 ) 0)
8 ( cons x0 ( cons 0 data ) )
( l et c i c l o ( ( k 1) ( x ( f x0 ) ) )
10 ( s e t ! data ( cons ( l i s t k ( f t x ) )
data ) )
12 (cond ((<= ( abs (− x ( f x ) ) ) eps )
( cons ( f x)
14 ( cons (− ( f x) x)
( r e ve r s e data ) ) ) )
16 ((>= k m)
( cons
18 ( s t r i ng −append
” s i n conver genci a en ”
20 ( number−>s t r i ng m)
” i t e r a c i o n e s ”)
22 ( cons (− ( f x) x)
( r e ve r s e data ) ) ) )
24 ( el se
( c i c l o (+ k 1) ( f x ) ) ) ) ) ) ) )
2.4. M
´
ETODOS BASADOS EN INTERPOLACI
´
ON 35
2.4. M´etodos basados en interpolaci´on
2.4.1. M´etodo de Newton-Raphson
Entre los m´etodos m´as populares en matem´aticas computacionales ten-
emos al creado por Isaac Newton
2
y Joseph Raphson
3
.
El atractivo de ´este m´etodo es su rapidez cuadr´atica de convergencia,
como veremos m´as adelante. Una desventaja es que para la aplicaci´on del
m´etodo se requiere tener tanto la funci´on f(x) que quiere resolverse, as´ı como
su derivada.
Dada una funci´on f(x) definida en un intervalo [a, b], tal que
f(x) ∈ C
2
[a, b] y existe una s ∈ [a, b] tal que f(s) = 0 entonces si escojemos
un valor inicial de x cercano a s, podemos utilizar un polinomio interpolador
de Taylor para aproximar la funci´on f(x) por:
f(s) = f(x
0
) +
f

(x
0
)
1!
(s −x
0
) +
f

(c)
2!
(s −x
0
)
2
Haciendo f(s) = 0 y asumiendo que el t´ermino de segundo grado es muy
peque˜ no, se tiene:
0 ≈ f(x
0
) +
f

(x
0
)
1!
(s −x
0
)
Ahora podemos despejar s para obtener:
s ≈ x
0

f(x
0
)
f(x
0
)
Si lo expresamos en t´erminos del m´etodo iterativo univariable, la funci´on
a iterar es:
x
n+1
= x
n

f(x
n
)
f

(x
n
)
(2.4)
El pseudoc´odigo para el m´etodo de Newton-Raphson est´andar se presenta
en el algoritmo 2.3
2
Sir Isaac Newton (1642-1727), reconocido matem´atico, f´ısico y astr´onomo ingl´es, su
obra maestra Philosophae Naturalis Principia Mathematica es considerada como uno de
los libros cient´ıficos m´as importantes de todos los tiempos. Destaca junto con (Gottfried
Wilhelm von) Leibniz (1646-1716), por su invenci´on independiente del C´alculo.
3
Joseph Raphson (1648-1715), matem´atico ingl´es
36 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
Algoritmo 2.3 M´etodo de Newton-Raphson est´andar
Dado: f: funci´on asociada a la ecuaci´on f(x) = 0 a resolver, f

: derivada de
f(x), x
0
: aproximaci´on inicial a la soluci´on, : tolerancia del error, y m:
n´ umero m´aximo de iteraciones
Entrega: s: la soluci´on aproximada a la ecuaci´on f(x) = 0, o bien el men-
saje “sin soluci´on aceptable en m iteraciones”, o bien “f

(x
n
) = 0 en la
iteraci´on n”
Newton-Raphson(f, f

, x
0
, , m)
2: n ←0
repeat
4: if f

(x
n
) = 0 then return “f

(x
n
) = 0 en la iteraci´on n”
else
6: x
n+1
= x
n
−f(x
n
)/f

(x
n
)
n ←n + 1
8: end if
until [x
n
−x
n−1
[ ≤ ´o n > m
10: if [x
n
−x
n−1
[ ≤ then return x
n
else return “sin soluci´on aceptable en m iteraciones”
12: end if
end
2.4. M
´
ETODOS BASADOS EN INTERPOLACI
´
ON 37
Presentamos a continuaci´on una implementaci´on en Scheme:
C´ odigo Scheme 2.5: Funci´on para el m´etodo de Newton-Raphson
( define ( newton−raphson f df x0 eps m)
2 ( di s pl ay ‘ ( x( , 0)= , x0 ) ) ( newl i ne )
( l et c i c l o ( ( xp x0 ) ( df p ( df x0 ) ) ( k 1) )
4 ( i f (= df p 0)
‘ ( l o s i e nt o : l a der i vada de f en , x0
6 es 0 en l a , k i t e r a c i o n )
( l et ( ( x (− xp (/ ( f xp) df p ) ) ) )
8 (cond
((<= ( abs (− x xp ) ) eps )
10 ( di s pl ay ‘ ( x ( , k)= , x de l t a= , ( abs (− x xp ) ) ) )
( newl i ne )
12 ‘ ( s ol uc i on , x en , k i t e r a c i o n e s ) )
((> k m) ‘ ( s i n s ol uc i on en
14 ,(− k 1) i t e r a c i o n e s ) )
( el se ( di s pl ay ‘ ( x ( , k)= , x de l t a=
16 , ( abs (− x xp ) ) ) )
( newl i ne )
18 ( c i c l o x ( df x) (+ k 1 ) ) ) ) ) ) ) )
Ejercicio 2.4.1. Aplique el m´etodo de Newton-Raphson para encontrar una
raiz de la ecuaci´on x
3
+ x −2 = 0. Utilice x
0
= 2 y = 10
−5
. Compruebe la
soluci´on encontrada.
2.4.2. M´etodo de la secante
Este m´etodo se basa en la utilizaci´on de dos puntos x
0
y x
1
como apro-
xi-maciones iniciales a la soluci´on de la ecuaci´on f(x) = 0, y calcula el tercer
punto x
2
, resolviendo la siguiente ecuaci´on de la secante, para y = 0 y x
2
= x:
y −f(x
1
) =
f(x
1
) −f(x
0
)
x
1
−x
0
(x −x
1
) (2.5)
para obtener:
x
2
= x
1

(x
1
−x
0
)f(x
1
)
f(x
1
) −f(x
0
)
38 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
si renombramos ahora x
2
, x
1
y x
0
por x
n+1
, x
n
y x
n−1
respectivamente, obten-
emos la ecuaci´on recursiva que caracteriza al m´etodo de la secante
4
:
x
n+1
= x
n

(x
n
−x
n−1
)f(x
n
)
f(x
n
) −f(x
n−1
)
(2.6)
Algoritmo 2.4 M´etodo de la secante
Dado: f: funci´on asociada a la ecuaci´on f(x) = 0 a resolver, x
0
y x
1
: dos
aproximaciones iniciales a la soluci´on, : tolerancia del error, y m: n´ umero
m´aximo de iteraciones
Entrega: s: la soluci´on aproximada a la ecuaci´on f(x) = 0, o bien el mensaje
“sin soluci´on aceptable en m iteraciones”
Metodo-Secante(f, x
0
, x
1
, , m)
2: n ←1
repeat
4: if f(x
n
) = f(x
n−1
) then
return “Sin soluci´on: secante horizontal”
6: else
x
n+1
←x
n
−(x
n
−x
n−1
)f(x
n
)/[f(x
n
) −f(x
n−1
)]
8: n ←n + 1
end if
10: until [x
n
−x
n−1
[ ≤ ´o n > m
if [x
n
−x
n−1
[ ≤ then
12: return x
n
else
14: return “sin soluci´on en m iteraciones”
end if
16: end
2.4.3. M´etodo de Aitken
Este m´etodo, tambi´en conocido como m´etodo de aceleraci´on de Aitken
o M´etodo ∆
2
de Aitken, permite acelerar la convergencia de una sucesi´ on
convergente.
4
Note que esta ecuaci´on es semejante a la utilizada por el m´etodo de Newton-Raphson,
considerando la aproximaci´ on f

(x
n−1
) ≈
f(xn−1)−f(xn−2)
xn−1−xn−2
.
2.5. M
´
ETODO DE BAIRSTOW 39
Algoritmo 2.5 M´etodo de Aitken
Dado: f: funci´on asociada a la sucesi´on convergente ¦x
n
¦

n=0
con x
n+1
=
f(x
n
), x
0
: aproximacion inicial a la soluci´on, : tolerancia del error, y m:
n´ umero m´aximo de iteraciones
Entrega: x

: la soluci´on aproximada a la ecuaci´on f(x) = 0, o bien el men-
saje “sin soluci´on aceptable en m iteraciones”
Metodo-Aitken(f, x
0
, , m)
2: x
1
←f(x
0
)
x
2
←f(x
1
)
4: n ←0
repeat
6: x
n+3
←f(x
n+2
)
x

n
←x
n
−(x
n+1
−x
n
)
2
/(x
n+2
−2x
n+1
+ x
n
)
8: x

n+1
←x
n+1
−(x
n+2
−x
n+1
)
2
/(x
n+3
−2x
n+2
+ x
n+1
)
n ←n + 1
10: until
¸
¸
x

n
−x

n−1
¸
¸
≤ ´o n > m
if
¸
¸
x

n
−x

n−1
¸
¸
≤ then
12: return x

n
else
14: return “sin soluci´on en m iteraciones”
end if
16: end
2.5. M´etodo de Bairstow
En esta secci´on veremos un m´etodo para resolver el caso cuando f(x) =
p(x), es decir f(x) es un polinomio en una variable. As´ı, nos interesar´a re-
solver la ecuaci´on p(z) = 0. Note que hemos cambiado el s´ımbolo de la
variable de x a z para indicar que trabajaremos en el conjunto de los n´ umero
complejos C.
Denotaremos nuestro polinomio de grado n > 2 por p
n
(z) de la forma:
p
n
(z) = a
n
z
n
+ a
n−1
z
n−1
+ + a
1
z + a
0
(2.7)
En general, este m´etodo consiste en encontrar iterativamente factores
cuadr´aticos de la forma (Az
2
+ Bz + C) para p
n
(z), reduciendo cada vez
en dos el grado del polinomio, es decir, en cada iteraci´on encontramos un
40 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
polinomio p
n−2
(z) de grado n−2. Como las ra´ıces complejas se presentan en
pares conjugados, tenemos que:
[z −(a + ib)][z −(a −ib)] = z
2
+ 2az + (a
2
+ b
2
) = z
2
+ Bz + C
En lo sucesivo usaremos B = −r y C = −s, en conformidad con la notaci´on
propia del m´etodo. As´ı buscaremos un p
n−2
(z) que cumpla:
p
n
(z) = (z
2
−rz −s)p
n−2
(z) (2.8)
Repetiremos el proceso anterior hasta llegar al caso cuando el grado k del
polinomio reducido p
k
(z), cumpla con k ≤ 2 que se resuelve de manera
directa.
Para encontrar los valores de r y s que cumplan con la ecuaci´on 2.8,
empezaremos con valores iniciales r
0
y s
0
. Si realizamos la divisi´on de p
n
(z)
entre el factor cuadr´atico z
2
−r
0
z −s
0
, obtenemos el polinomio:
q
n−2
(z) = b
n
z
n−2
+ b
n−1
z
n−3
+ + b
3
z + b
2
de manera que:
p
n
(z) = (z
2
−r
0
z −s
0
)q
n−2
(z) + R
donde en residuo est´a determinado por:
R = b
1
(z −r
0
) + b
0
(2.9)
y los coeficientes ¦b
i
¦
n
0
se calculan recursivamente con las f´ormulas siguientes,
considerando k = 0:
b
n
= a
n
b
n−1
= a
n−1
+ r
k
b
n
b
i
= a
i
+ r
k
b
i+1
+ s
k
b
i+2
, para i = n −2, n −3, . . . , 0
(2.10)
Si resulta que R = 0, hemos encontrado el factor cuadr´atico deseado con
r = r
0
y s = s
0
, en caso contrario, utilizamos el m´etodo de Newton-
Raphson para sistemas de ecuaciones (ver secci´on 3.3.1) hasta encontrar los
valores r
k
y s
k
que logren que R = 0, para alg´ un k > 0. En cuyo caso r = r
k
,
s = s
k
y como R = 0, entonces p
n−2
(z) = q
n−2
(z) es el siguiente polinomio a
iterar.
2.5. M
´
ETODO DE BAIRSTOW 41
Para lograr R = 0 en la ecuaci´on 2.9, y como b
0
y b
1
dependen de r
k
y s
k
,
buscaremos los cambios ∆r y ∆s que logren hacer cero el siguiente sistema
de ecuaciones
5
:
b
0
(r
k
+ ∆r, s
k
+ ∆s) = b
0
+
∂b
0
∂r
k
∆r +
∂b
0
∂s
k
∆s (2.11)
b
1
(r
k
+ ∆r, s
k
+ ∆s) = b
1
+
∂b
1
∂r
k
∆r +
∂b
1
∂s
k
∆s (2.12)
Por tanto, se debe cumplir:
∂b
0
∂r
k
∆r +
∂b
0
∂s
k
∆s = −b
0
∂b
1
∂r
k
∆r +
∂b
1
∂s
k
∆s = −b
1
(2.13)
El trabajo de Bairstow demostr´o que podemos obtener las derivadas parciales
de la ecuaci´on 2.13 a partir de los coeficientes b
i
con el siguiente sistema
recursivo:
c
n
= b
n
c
n−1
= b
n−1
+ r
k
c
n
c
i
= b
i
+ r
k
c
i+1
+ s
k
c
i+2
, para i = n −2, n −3, . . . , 0
(2.14)
donde las primeras tres c
i
corresponden a las derivadas parciales buscadas,
es decir:
∂b
0
∂r
k
= c
1
,
∂b
0
∂s
k
=
∂b
1
∂r
k
= c
2
y
∂b
1
∂s
k
= c
3
. De esta forma, resolviendo el
sistema:
c
1
∆r + c
2
∆s = −b
0
c
2
∆r + c
3
∆s = −b
1
(2.15)
estaremos mejorando las aproximaciones de r
k
y s
k
con los ajustes:
r
k+1
= r
k
+ ∆r
s
k+1
= s
k
+ ∆s
(2.16)
hasta que sus errores relativos est´en dentro de la tolerancia permitida.
El algoritmo siguiente y su auxiliar, describen el m´etodo de Bairstow:
5
Hemos simplificado aqu´ı la notaci´ on, ya que estr´ıctamente, utilizar´ıamos ∆r
k
y ∆s
k
.
42 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
Algoritmo 2.6 M´etodo de Bairstow (requiere: algoritmo 2.7)
Dado: p: polinomio en una variable asociada la ecuaci´on p(z) = 0 y re-
presentado por (a
n
, a
n−1
, . . . , a
0
); r
0
y s
0
: aproximaciones iniciales a los
factores cuadr´aticos,
rel
: error relativo en porcentaje para los factores
cuadr´aticos, m: n´ umero m´aximo de iteraciones
Entrega: raices: conjunto de las soluciones a p(z) = 0, ´o bien el mensaje
“sin soluci´on aceptable en m iteraciones”
Metodo-Bairstow(p, r
0
, s
0
,
rel
, m)
2: raices ←φ
n ← grado del polinomio p(z)
4: while n > 2 do
(q, r, s, mje) ←Factor-Bairstow(p, r
0
, s
0
,
rel
, m)
6: if mje ,= “ ” then
return mje error en c´alculo de factor
8: else
raices ←raices ∪ ceros del factor cuadr´atico z
2
−rz −s
10: p ←q
n ← grado del polinomio p
12: end if
end while
14: if n = 2 then
raices ←raices ∪ ceros del polinomio p
16: else raices ←raices ∪ ¦−s/r¦
end if
18: end
2.6. APLICACIONES 43
Algoritmo 2.7 Factor cuadr´atico para Bairstow (algoritmo 2.6)
Dado: p: polinomio en una variable, representado por (a
n
, a
n−1
, . . . , a
0
); r
0
y s
0
: aproximaciones iniciales a los factores cuadr´aticos,
rel
: error rela-
tivo en porcentaje para los factores cuadr´aticos, m: n´ umero m´aximo de
iteraciones
Entrega: (q(z), r, s, mje): valores que cumplen la ecuaci´on p(z) = (z
2

rz − s)q(z) (donde, q est´a representado por sus coeficientes en orden
descendente) y mje=“”, o bien el mje=“sin soluci´on aceptable en m
iteraciones”
Factor-Bairstow(f, r
0
, s
0
,
rel
, m)
2: k ←0
repeat
4: Calcula las b
i
utilizando la ecuaci´on 2.10
Calcula las c
i
utilizando la ecuaci´on 2.14
6: Determina ∆r
k
y ∆s
k
resolviendo el sistema 2.15
Calcula r
k
y s
k
aplicando las ecuaciones 2.16
8: k ←k + 1
until (k > m)
10: if k > m then
return “Sin soluci´on en m iteraciones”
12: else
q(z) est´a representado por las ¦b
i
¦
14: return (q, r, s,“”)
end if
16: end
2.6. Aplicaciones
Aplicaci´on 2.1 (Modelos poblacionales).
Aplicaci´on 2.2 (Determinaci´on de valores caracter´ısticos).
44 CAP
´
ITULO 2. M
´
ETODOS DE SOLUCI
´
ON DE ECUACIONES
Cap´ıtulo 3
M´etodos de soluci´on de
sistemas de ecuaciones
3.1. M´etodos iterativos para sistemas lineales
Cuando el n´ umero de variables de los sistemas a resolver es elevado (por
ejemplo, arriba de 100) los m´etodos directos resultan impr´acticos y recu-
rrimos a los m´etodos iterativos, en esta secci´on presentaremos dos m´etodos
cl´asicos fundamentales.
3.1.1. M´etodo de Jacobi
Dado un sistema lineal:
n

j=1
a
ij
x
j
= b
i
, 1 ≤ i ≤ n (3.1)
podemos despejar la variable x
i
para obtener una expresi´on que relacione
x
(k+1)
i
con x
(k)
i
:
x
(k+1)
i
= −
n

j=1
j=i
_
a
ij
a
ii
x
(k)
j
_
+
b
i
a
ii
, 1 ≤ i ≤ n, a
ii
,= 0 (3.2)
El m´etodo de Jacobi consiste b´asicamente en aplicar la ecuaci´on 3.2 para cada
una de las variables, empezando con los valores iniciales correspondientes.
45
46 CAP
´
ITULO 3. M
´
ETODOS PARA SISTEMAS DE ECUACIONES
La forma matricial se deriva de forma similar. Partimos de la ecuaci´on
Ax = b y el hecho de que podemos descomponer la matriz A como
A = D+L +U
, es decir en sus matrices diagonal principal, triangular inferior y triangular
superior, respectivamente. Por tanto:
Ax = (D+L +U)x = b (3.3)
y entonces podemos despejar el t´ermino Dx para obtener:
Dx = −(L +U)x +b (3.4)
y como a
ii
,= 0 para 1 ≤ i ≤ n, podemos despejar x en Dx para obtener:
x = −D
−1
(L +U)x +D
−1
b (3.5)
Utilizando este ecuaci´on, obtenemos la ecuaci´on para un paso del m´etodo de
Jacobi, en forma matricial:
x
(k+1)
= −D
−1
(L +U)x
(k)
+D
−1
b (3.6)
donde x
(k)
representa el valor de las variables en la k-´esima iteraci´on, em-
pezando con el vector x
0
. El proceso se detendr´a cuando la distancia eu-
clideana
_
_
x
(k+1)
−x
(k)
_
_
< , para una determinada tolerancia del error ,
donde, claro:
|X−Y| =
_
n

j=1
(x
i
−y
i
)
2
_
1/2
(3.7)
3.1.2. M´etodo de Gauss-Seidel
A diferencia del m´etodo de Jacobi, el M´etodo de Gauss-Seidel, utiliza los
valores previos de x
(k)
j
, 1 ≤ j ≤ i − 1 para calcular el valor de x
(k+1)
i
. Esto
nos da la siguiente ecuaci´on para el m´etodo de Gauss-Seidel:
x
(k+1)
i
= −
1
a
ii
_
i−1

j=1
a
ij
x
(k+1)
j
+
n

j=i+1
a
ij
x
(k)
j
−b
i
_
(3.8)
3.2. SISTEMAS DE ECUACIONES NO LINEALES 47
El m´etodo de Gauss-Seidel consiste b´asicamente en aplicar la ecuaci´on 3.8
para cada una de las variables, empezando con los valores iniciales correspon-
dientes.
La forma matricial se deriva de forma similar al m´etodo de Jacobi. De la
ecuaci´on 3.3, despejamos ahora el t´ermino (D+L)x para obtener:
(D+L)x
(k+1)
= −Ux
(k)
+b (3.9)
de donde despejando, encontramos la ecuaci´on de una iteraci´on del m´etodo
de Gauss-Seidel:
x
(k+1)
= −(D+L)
−1
Ux
(k)
+(D+L)
−1
b (3.10)
Ya que asumimos que a
ii
,= 0, para 1 ≤ i ≤ n, sabemos que D+L es no
singular y x
(k)
est´a bien definida para toda iteraci´on k.
3.2. Sistemas de ecuaciones no lineales
En la secci´on anterior hemos visto, los m´etodos iterativos b´asicos para
resolver sistemas lineales. Ahora nos toca revisar m´etodos fundamentales
para resolver sistemas de ecuaciones no lineales. Los m´etodos presentados
son extensiones de los vistos en el cap´ıtulo 2.
3.2.1. M´etodo iterativo secuencial
Presentamos aqu´ı una generalizaci´on del m´etodo visto en la secci´on 2.3.2,
donde presentamos el m´etodo de punto fijo (algoritmo 2.2.
Se trata aqu´ı de resolver el sistema de ecuaciones:
x
i
= g
i
(x
1
, x
2
, . . . , x
n
), para, i = 1, 2, . . . , n (3.11)
Escrito en notaci´on vectorial, nuestro sistema es simplemente: g(x) = x.
Para aplicar con ´exito el m´etodo de punto fijo para sistemas iterando la
ecuaci´on:
x
k+1
= g(x
k
) (3.12)
y garantizar su convergencia a una soluci´on ´ unica, requerimos que la funci´on
g(x), cumpla con las condiciones del siguiente teorema:
48 CAP
´
ITULO 3. M
´
ETODOS PARA SISTEMAS DE ECUACIONES
Teorema 3.2.1 (Convergencia del m´etodo de punto fijo para sistemas (adap-
tado de [8] pp.131-132)). Sean g
1
(x), . . . , g
n
(x), funciones reales definidas
sobre la hipercaja
R :=
_
x = (x
1
, x
2
, . . . , x
n
)
T
[ a
i
≤ x
i
≤ b
i
, i = 1, . . . , n
_
y que satisfacen las siguientes condiciones:
1. g
i
(x) ∈ C[R], i = 1, . . . , n
2. Para cualquier x ∈ R : g(x) = [g
1
(x), . . . , g
n
(x)]
T
∈ R
3. Existe una constante de Lipschitz L < 1 para la cual se cumple la
condici´on:
|g(x
1
) −g(x
2
)| ≤ L|x
1
−x
2
| , x
1
, x
2
∈ R (3.13)
Entonces el sistema definido por la ecuaci´on 3.11, tiene una soluci´on
´ unica s ∈ R y para cualquier x
0
∈ R, la sucesi´on ¦x
n
¦ al aplicar la
ecuaci´on 3.12, converge a dicha soluci´on.
Si la funci´on g(x) posee adem´as primeras derivadas, una manera de ver-
ificar si el m´etodo de punto fijo para sistemas aplica, es determinando una
cota superior para la constante de Lipschitz (ver [8] p. 132) utilizando la
ecuaci´on:
L = m´ax
x∈R
_
n

i,j=1
_
∂g
i
∂x
j
_
2
_
1/2
(3.14)
El algoritmo 3.1 describe los pasos de este m´etodo:
3.3. ITERACI
´
ON Y CONVERGENCIA 49
Algoritmo 3.1 M´etodo de punto fijo para sistemas
Dado: g: funci´on asociada a la ecuaci´on x = g(x) a resolver, x
0
: valor inicial
de la soluci´on, : tolerancia del error, m: n´ umero m´aximo de iteraciones
permitidas.
Entrega: x

: la soluci´on aproximada a la ecuaci´on x = g(x) con un error
≤ , o bien el mensaje: “sin convergencia en m iteraciones” si la soluci´on
no converge en las iteraciones y la precisi´on deseada.
Punto-Fijo-Sistemas(g, x
0
, , m)
2: if g(x
0
) = x
0
then caso excepcional
return x
0
4: else
n ←0
6: repeat
x
n+1
←g(x
n
)
8: n ←n + 1
until |x
n
−x
n−1
| ≤ ´o n > m
10: if |x
n
−x
n−1
| ≤ then
return x
n
12: else
return “sin convergencia en m iteraciones”
14: end if
end if
16: end
3.3. Iteraci´on y convergencia en sistemas de
ecuaciones
3.3.1. M´etodo de Newton-Raphson para sistemas
El m´etodo de Newton-Raphson visto en la secci´on 2.4.1 tambi´en se gener-
aliza a sistemas de ecuaciones, b´asicamente se requiere extender el concepto
de derivada de una funci´on, al jacobiano de una funci´on vectorial. Es decir,
dado el sistema:
f
i
(x
1
, x
2
, . . . , x
n
) = 0, para, i = 1, 2, . . . , n (3.15)
50 CAP
´
ITULO 3. M
´
ETODOS PARA SISTEMAS DE ECUACIONES
calculamos el jacobiano de J
f
(x) como:
J
f
(x) =
_
_
_
_
_
∂f
1
∂x
1
(x)
∂f
1
∂x
2
(x)
∂f
1
∂xn
(x)
∂f
2
∂x
1
(x)
∂f
2
∂x
2
(x)
∂f
2
∂xn
(x)
.
.
.
.
.
.
.
.
.
.
.
.
∂fn
∂x
1
(x)
∂fn
∂x
2
(x)
∂fn
∂xn
(x)
_
_
_
_
_
(3.16)
Podemos expresar ahora el m´etodo de Newton-Raphson para sistemas
como la aplicaci´on iterada de la ecuaci´on vectorial:
x
k+1
= x
k
−[J
f
(x
k
)]
−1
f (x
k
) (3.17)
Algoritmo 3.2 M´etodo de Newton-Raphson para sistemas
Dado: f : funci´on asociada a la ecuaci´on f (x) = 0 a resolver, x
0
: aproxi-
maci´on inicial a la soluci´on, : tolerancia del error, y m: n´ umero m´aximo
de iteraciones
Entrega: s: la soluci´on aproximada a la ecuaci´on f (x) = 0, o bien el men-
saje “sin soluci´on aceptable en m iteraciones”, o bien “J
f
(x) = 0 en la
iteraci´on n”
Newton-Raphson(f , x
0
, , m)
2: n ←0
repeat
4: if J
f
(x
n
) = 0 then return “J
f
(x
n
) = 0 en la iteraci´on n”
else
6: x
n+1
= x
n
−[J
f
(x
n
)]
−1
f (x
n
)
n ←n + 1
8: end if
until |x
n
−x
n−1
| ≤ ´o n > m
10: if |x
n
−x
n−1
| ≤ then
return x
n
12: else
return “sin convergencia en m iteraciones”
14: end if
end
3.4. APLICACIONES 51
3.4. Aplicaciones
Aplicaci´on 3.1 (Manipulador rob´otico de dos eslabones). Considere un ma-
nipulador rob´otico de dos eslabones con par´ametros L
1
, L
2
, θ
1
, θ
2
que deter-
minan un punto (x, y) en el plano. Resolver los siguiente problemas:
1. (Cinem´atica directa) Dados L
1
, L
2
, θ
1
, θ
2
, encontrar (x, y)
2. (Cinem´atica inversa) Dados L
1
, L
2
, x, y encontrar θ
1
, θ
2
3. (Planeaci´on de la trayectoria) Dado un tiempo t = T, determinar la
trayectoria de la “mano” del robot para moverse de (x
0
, y
0
) a (x
1
, y
1
)
Aplicaci´on 3.2 (Modelo econ´omico de Leontief).
Aplicaci´on 3.3 (Cadenas de Markov).
Aplicaci´on 3.4 (Sistemas polinomiales multivariables).
52 CAP
´
ITULO 3. M
´
ETODOS PARA SISTEMAS DE ECUACIONES
Cap´ıtulo 4
Diferenciaci´on e integraci´on
num´erica
4.1. Diferenciaci´on num´erica
De nuestros cursos de C´alculo, recordamos el uso de l´ımites para calcular
la derivada de una funci´on diferenciable:
f

(x) = l´ım
h→0
f(x + h) −f(x)
h
Lo que nos sugiere que podemos aproximar f

(x) con la ecuaci´on:
f

(x) ≈
f(x + h) −f(x)
h
(4.1)
utilizando valores peque˜ nos de h. Para determinar el error de dicha aprox-
imaci´on, podemos auxiliarnos con el Teorema de Taylor (1.3.1). Si aproxi-
mamos f(x +h) por su polinomio de Taylor de primer orden alrededor de x,
tenemos:
f(x + h) = f(x) + f

(x)h +
f

(ξ)
2
h
2
(4.2)
donde ξ es un valor entre x y x + h. Despejando f

(x) obtenemos la aprox-
imaci´on dada por la f´ormula 4.1, la cual sabemos ahora (por la ecuaci´on
anterior) que tiene un error del orden O(h) ya que
f

(ξ)
2
h
2
= O(h).
f

(x) =
f(x + h) −f(x)
h
+ O(h) (4.3)
53
54 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
0 1 2 3 4 5 6 7 -1 -2
1
2
3
4
5
6
-1
h
f(x+h)-f(x)
x x+h
Figura 4.1: Estimaci´on b´asica de una derivada
4.1. DIFERENCIACI
´
ON NUM
´
ERICA 55
Ejemplo 4.1.1. La siguiente tabla (4.1) presenta la derivada de cot(x) en
x = 2, obtenida aplicando la ecuaci´on 4.1 para diferentes valores de h.
Adem´as incluimos el error, ya que en este caso sabemos que cot

(x) =
−1
cos
2
(x)
y por tanto cot

(2) = −1.2094504 a siete decimales. Para fines comparativos,
hemos agregado en las ´ ultimas dos columnas los valores correspon-dientes
al utilizar la f´ormula de diferencias centradas de orden O(h
4
) que pre-
sentaremos m´as adelante.
Tabla 4.1: Ejemplo comparativo para la derivada de cot(x)
h ≈ cot

(2) error O(h) ≈ cot

(2) error O(h
4
)
0.1 -1.2719025 0.062452083929 -1.2092561 -0.000194298269
0.05 -1.238831 0.029380549229 -1.2094386 -1.1801389e-005
0.01 -1.2150517 0.005601277957 -1.2094504 -1.8713e-008
0.005 -1.2122345 0.002784043309 -1.2094504 -1.169e-009
0.001 -1.2100046 0.000554171084 -1.2094504 -2e-012
Ejemplo 4.1.2. Presentamos en la tabla (4.2) la derivada de e
x
en x = 1,
obtenida aplicando la ecuaci´on 4.1 para diferentes valores de h. Como en
el ejemplo anterior, incluimos el error, ya que en este caso sabemos que
(e
x
)

= e
x
y por tanto (e
x
)

(1) = 2.7182818 a siete decimales. Para fines com-
parativos, hemos agregado en las ´ ultimas dos columnas los valores correspon-
dientes al utilizar la f´ormula de diferencias centradas de orden O(h
4
)
como en el ejemplo previo.
Ejercicio 4.1.1. Calcular las primeras tres columnas de la tabla 4.1 para la
derivada de la funci´on tan(x) evaluada en x = π/5.
Problema 4.1.1. Investigue la raz´on por la cual, en la ´ ultima columna de
la tabla 4.2, se incrementa el error conforme se reduce el valor de h.
Problema 4.1.2. Investigue la existencia de una f´ormula para f

(x) con un
error del orden O(h).
Con el prop´osito de encontrar mejores f´ormulas para derivaci´on de fun-
ciones, aplicaremos en la siguiente secci´on, el m´etodo de sustituir la funci´on
f(x) por un polinomio interpolante. Para esto utilizaremos los polinomios
56 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
Tabla 4.2: Ejemplo comparativo para la derivada de f(x) = e
x
h ≈ e

(2) error O(h) ≈ e

(2) error O(h
4
)
0.1 2.858842 -0.140560126415 2.7182728 9.071733e-006
0.01 2.7319187 -0.013636827328 2.7182818 9.06e-010
0.001 2.7196414 -0.001359594074 2.7182818 0.0
0.0001 2.7184177 -0.000135918624 2.7182818 -1e-012
1e-005 2.7182954 -1.3591498e-005 2.7182818 -2.2e-011
1e-006 2.7182832 -1.358972e-006 2.7182818 2e-010
1e-007 2.718282 -1.39947e-007 2.7182818 -1.169e-009
de Lagrange, ya que nos permiten tambi´en calcular la derivada en el caso
de no tener una f´ormula matem´atica, sino s´olo un n´ umero finito de puntos
(x
i
, y
i
). para i = 1, 2, ..., n.
4.1.1. F´ormulas de diferencia progresiva y regresiva
B´asicamente, la idea para obtener estas f´ormulas, es sustituir la funci´on a
derivar f(x) por su polinomio interpolante de Lagrange p
n
(x) obtenido a partir
de (n + 1) puntos x
i
, n
0
≤ i ≤ n − n
0
, para despu´es aproximar f

(x) con
p

n
(x). Considerando puntos equidistantes separados una distancia h, para
expresar las f´ormulas de f

(x
0
), utilizaremos la notaci´on siguiente:
f
i
= f(x
i
), donde x
i
= x
0
+ ih, i = n
0
, . . . , n −n
0
(4.4)
Tenemos entonces los siguientes tres casos de f´ormulas de diferencias, en base
a los valores de n
0
:
1. Diferencias regresivas, cuando n −n
0
= 0
2. Diferencias progresivas, cuando n
0
= 0
3. Diferencias centradas, cuando n
0
= −n/2
4.1.2. F´ormula de tres puntos
Utilizando n = 2 y n
0
= −1 obtenemos la f´ormula de diferencias centradas
para f

(x
0
), que aparece en la tabla 4.3 (adaptada de [16])
4.1. DIFERENCIACI
´
ON NUM
´
ERICA 57
Tabla 4.3: F´ormulas de diferencias centradas de orden O(h
2
) para derivadas
f

(x
0
) =
f
1
−f
−1
2h
f

(x
0
) =
f
1
−2f
0
+ f
−1
h
2
(4.5)
Tabla 4.4: F´ormulas de diferencias centradas de orden O(h
4
) para derivadas
f

(x
0
) =
−f
2
+ 8f
1
−8f
−1
+ f
−2
12h
f

(x
0
) =
−f
2
+ 16f
1
−30f
0
+ 16f
−1
−f
−2
12h
2
(4.6)
Problema 4.1.3. Verificar experimentalmente las siguientes f´ormulas de or-
den O(h
2
) para la tercera y cuarta derivadas:
f
(3)
(x
0
) =
f
2
−f
1
+ 2f
−1
−f
−2
2h
3
f
(4)
(x
0
) =
f
2
−4f
1
+ 6f
0
−4f
−1
−f
−2
h
4
y justificarlas paso a paso mediante la aplicaci´on de los polinomios de La-
grange.
4.1.3. F´ormula de cinco puntos
Utilizando n = 4 y n
0
= −2 obtenemos la f´ormula de diferencias centradas
para f

(x
0
), que aparece en la tabla 4.4(adaptada de [16])
Una implementaci´on en Scheme para el c´alculo de f

(x
0
) anterior se pre-
senta en el listado 4.1:
58 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
C´odigo Scheme 4.1: Funci´on para calcular f

(x
0
) seg´ un ecuaci´on 4.4
; ; der i vada num’ e r i c a con h
2 ; ; [ por d i f e r e n c i a s cent r adas O( h ˆ4) ]
( define ( deri va−con−h f x h)
4 (/ (+ (− ( f (+ x h h ) ) ) (∗ 8 ( f (+ x h ) ) )
(∗ −8 ( f (− x h ) ) ) ( f (− x h h ) ) )
6 (∗ 12 h ) ) )
Problema 4.1.4. Verificar experimentalmente las siguientes f´ormulas de or-
den O(h
4
) para la tercera y cuarta derivadas:
f
(3)
(x
0
) =
−f
3
+ 8f
2
−13f
1
+ 13f
−1
−8f
−2
+ f
−3
8h
3
f
(4)
(x
0
) =
−f
3
+ 12f
2
−39f
1
+ 56f
0
−39f
−1
+ 12f
−2
−f
−3
6h
4
y justificarlas paso a paso mediante la aplicaci´on de los polinomios de La-
grange.
4.2. Integraci´on num´erica
En las siguientes dos secciones veremos dos de las llamadas f´ormulas
de cuadratura de Newton-Cotes, las cuales aproximan una integral definida
_
b
a
f(x)dx subdividiendo el intervalo [a, b] en subintervalos igualmente espa-
ciados.
4.2.1. M´etodo del trapecio
Dado el problema de aproximar la integral
_
b
a
f(x)dx, el m´etodo del trapecio
divide el intervalo [a, b] en n subintervalos [x
i
, x
i+1
], donde cada x
i
est´a defini-
da por:
x
i
= a + ih, para, h =
b −a
n
, i = 0, 1, . . . , n (4.7)
y se integra cada subitervalo aproximando el ´area bajo la funci´on por el ´area
del trapecio cuya base es h y su altura promedio es [f(x
i
) + f(x
i+1
)]/2. Por
4.2. INTEGRACI
´
ON NUM
´
ERICA 59
lo tanto la aproximaci´on de nuestra integral es:
_
f(x)dx ≈
1
2
n

i=1
[f(x
i−1
) + f(x
i
)]h

h
2
n

i=1
[f(x
i−1
) + f(x
i
)]

h
2
[f(a) + f(b)] + h
n−1

i=1
f(x
i
)
(4.8)
de donde resulta nuestra f´ormula principal de la regla compuesta del trapecio:
_
f(x)dx =
h
2
_
f(a) + f(b) + 2
n−1

i=1
f(x
i
)
_
+ R
n
(4.9)
El error R
n
del m´etodo del trapecio, se deriva mediante la integraci´on del
polinomio interpolador lineal de Lagrange para f(x) y asume la existencia
de f

(x):
R
n
= −
h
2
(b −a)
12
f

(c) (4.10)
para alguna c entre a y b.
4.2.2. M´etodos de Simpson
Existen varias reglas o m´etodos de Simpson para integraci´on, a contin-
uaci´on presentamos la llamada regla compuesta de Simpson.
A diferencia del m´etodo trapezoidal, que utiliza un polinomio interpolador
lineal, el m´etodo de Simpson sustituye f(x) por un interpolador de Lagrange
de segundo grado p
2
(x), logrando con ello una reducci´on en el error por
truncamiento.
En este caso integramos cada tres puntos (i.e. cada dos subintervalos)
obteniendo:
_
x
i+1
x
i−1
p
2
(x)dx =
h
3
[f(x
i−1
) + 4f(x
i
) + f(x
i+1
)] (4.11)
por lo que la f´ormula resultante es:
_
b
a
f(x)dx =
b −a
3n
[f(x) + f(b) + 4A + 2B] + O(h
4
) (4.12)
donde
60 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
n es un n´ umero par
h = (b −a)/n
A =

n/2
i=1
f[a + (2i −1)h]
B =

(n/2)−1
i=1
f(a + 2ih)
O(h
4
) representa el orden del error
Presentamos en el listado 4.2 una implementaci´on en Scheme de la regla
compuesta de Simpson:
4.2. INTEGRACI
´
ON NUM
´
ERICA 61
C´odigo Scheme 4.2: Funci´on para la regla compuesta de Simpson
; aproxima una i nt e g r a l de f i ni da
2 ; ut i l i z a ndo l a r e gl a compuesta de Simpson
( define ( si mpson f a b h)
4 ( l et ∗ ( (m ( c e i l i n g (/ (− b a )
(∗ 2 h ) ) ) )
6 ( n (∗ 2 m) ) )
(∗ (/ (− b a )
8 (∗ 3 n) )
(+ ( f a )
10 ( f b)
(∗ 4 ( sumatori a
12 (lambda( i )
( f (+ a (∗ 2 i h)
14 (− h ) ) ) )
1 (/ n 2) ) )
16 (∗ 2 ( sumatori a
(lambda( i )
18 ( f (+ a (∗ 2 i h ) ) ) )
1 (− (/ n 2)
20 1 ) ) ) ) ) ) )
Ejemplo 4.2.1. La siguiente interacci´on presenta c´omo calcular num´erica-
mente la integral
_
1
0
4sen(3x)dx para h = 10
−3
.
> ( si mpson (lambda( x)
(∗ 4 ( s i n (∗ 3 x ) ) ) )
0 1 0. 001)
2. 6533233288017897
4.2.3. Integraci´on de Romberg
Los dos m´etodos de integraci´on previos, requieren como par´ametro, ya
sea h o n para realizar los c´alculos, en el m´etodo de Romberg, se utiliza
(la tolerancia del error) y el procedimiento va subdividiendo el intervalo
inicial [a, b] recursivamente, en tantos subintervalos como sea necesario. Esto
62 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
se logra combinando el m´etodo del trapecio, con el m´etodo de extrapolaci´on
de Richardson.
Definimos primeramente la sucesi´on de particiones P
1
, P
2
, . . . , P
k
en base
a las siguientes ecuaciones recursivas:
n
1
= 1
n
k
= 2n
k−1
, k ≥ 2
h
1
= b −a
h
k
=
h
k−1
2
, k ≥ 2
P
k
: x
i
= a + (i −1)h
k
, 0 ≤ i ≤ n
k
La aplicaci´on del m´etodo del trapecio a la sucesi´on de particiones, nos lleva
a las siguientes ecuaciones de Romberg:
R
1,1
=
h
2
[f(a) + f(b)]
R
k,1
=
1
2
_
R
k−1,1
+ h
k−1
n
k−1

i=1
f
_
a + (i −
1
2
)h
k−1
_
_
(4.13)
Aplicando ahora el m´etodo de extrapolaci´on de Richardson, obtenemos:
_
b
a
f(x)dx =
4R
k,1
−R
k−1,1
3
+ O(h
4
k
), k ≥ 2 (4.14)
Para acelerar la convergencia asociada a la ecuaci´on 4.14, aplicamos la ex-
trapolaci´on de Richardson a la sucesi´on ¦R
k,1
¦, para obtener:
R
k,i
=
4
i−1
R
k,i−1
−R
k−1,i−1
4
i−1
−1
, k ≥ 2, 2 ≥ i ≥ k (4.15)
Con lo cual podemos expresar el m´etodo de Romberg, como:
_
b
a
f(x)dx = R
k,i
+ O(h
2i
k
), k ≥ 2, 2 ≥ i ≥ k (4.16)
Una manera de definir el algoritmo de Romberg, es utilizar la sucesi´on de
valores R
i,i
generados por la ecuaci´on 4.16 y detener el proceso en la iteraci´on
i que cumpla [R
i,i
−R
i−1,i−1
[ < para un dado.
4.2. INTEGRACI
´
ON NUM
´
ERICA 63
C´odigo Scheme 4.3: Funci´on para el m´etodo de Romberg
( define ( romberg f a b eps )
2 ( define ( hk k) ; h del k−esi mo s ubi nt e r val o
(/ (− b a ) ( expt 2 (− k 1 ) ) ) )
4 ( define ( romb1 k) ; caso R( k , 1 )
( i f (= k 1)
6 (∗ (/ ( hk 1) 2)
(+ ( f a ) ( f b ) ) )
8 (∗ 1/2 (+ ( romb1 (− k 1) )
(∗ ( hk (− k 1) )
10 ( sumatori a
(lambda( i )
12 ( f (+ a
(∗ (− (∗ 2 i ) 1)
14 ( hk k ) ) ) ) )
1 ( expt 2 (− k 2 ) ) ) ) ) ) ) )
16 ( define ( romb i j ) ; caso R( i , j )
( i f (= j 1)
18 ( romb1 i )
(+ ( romb i (− j 1) )
20 (/ (− ( romb i (− j 1) )
( romb (− i 1) (− j 1) ) )
22 (− ( expt 4 (− j 1) ) 1 ) ) ) ) )
; c i c l o pr i nc i pa l
24 (do ( ( k 1 (+ k 1) )
(R ( romb1 1) ( romb (+ k 1) (+ k 1) ) )
26 ( Rs ( romb 2 2) ( romb (+ k 2) (+ k 2 ) ) ) )
((< ( abs (− Rs R) ) eps ) Rs )
28 ( di s pl ay ‘ ( r ( , k : , k) , ( romb k k ) ) ) ; opci onal
( newl i ne ) ; opci onal
30 ) )
Ejemplo 4.2.2. Evaluemos la siguiente integral que aproxima la constante
de Euler:
γ =
_
1
0
_
1
1 −t
+
1
ln t
_
dt
Ya que en t = 0 y en t = 1 la funci´on a integrar est´a indeterminada, utilizare-
mos para la aproximaci´on los l´ımites a = 10
−6
y b = 1 −10
−6
. Consideremos
64 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
una tolerancia de 10
−4
. La siguiente interacci´on en Scheme nos muestra la
soluci´on por el m´etodo de Romberg.
> ( romberg (lambda( t )
(+ (/ 1 (− 1 t ) ) (/ 1 ( l og t ) ) ) )
10e−6 (− 1 10e−6) 0. 0001)
( r (1 : 1) 0. 7065618370052935)
( r (2 : 2) 0. 6070498210096675)
( r (3 : 3) 0. 5880919525304922)
( r (4 : 4) 0. 5814810778664038)
( r (5 : 5) 0. 5789083665486172)
( r (6 : 6) 0. 5778819093890034)
( r (7 : 7) 0. 5774707636230789)
0. 5772417545073438
>
El valor de esta famosa constante a 10 decimales es 0.5772156649
Ejercicio 4.2.1. Eval´ ue por el m´etodo de Romberg la siguiente integral
considerando = 10
−6
_
1
0
ln(1 + x)
1 + x
2
dx
Calcule el error relativo de su soluci´on, sabiendo que el valor exacto es
π ln 2
8
4.2.4. M´etodo de cuadratura gaussiana
Antes de resolver la integraci´on de el intervalo general [a, b], resolveremos
el problema m´as sencillo:
_
1
−1
f(x)dx (4.17)
esto es necesario, debido a que utilizaremos funciones ortogonales en el inter-
valo [−1, 1], en particular utilizaremos los polinomios de Legendre de grado
n, que denotaremos P
n
(x) para aproximar la integral buscada, es decir:
_
1
−1
f(x)dx ≈
_
1
−1
P
n
(x)dx (4.18)
En lugar de utilizar puntos equidistantes para particionar el intervalo
de integraci´on [−1, 1] (como fue el caso en los m´etodos anteriores) ahora
4.2. INTEGRACI
´
ON NUM
´
ERICA 65
consideramos los nodos x
i
y los pesos w
i
como par´ametros para optimizar la
aproximaci´on, es decir:
_
1
−1
f(x)dx ≈
n

i=1
w
i
f(x
i
), −1 ≤ x
i
≤ 1, 1 ≤ i ≤ n. (4.19)
Los valores de los nodos x
i
corresponden a los ceros de los polinomios de
Legendre P
n
(x) y los pesos w
i
se pueden calcular con la ecuaci´on:
w
i
=
_
1
−1
n

i=1
j=i
x −x
j
x
i
−x
j
dx (4.20)
Ya que los valores de x
i
y w
i
normalmente se utilizan para n relativamente
peque˜ na, estos se presentan en forma tabular, como en la tabla 4.5 (ver por
ejemplo [8] p. 270):
Tabla 4.5: Nodos y pesos para cuadratura gaussiana
n x
i
w
i
1 0 2
2 ± 0.5773502692 1
3 0.7745966692 0.5555555556
0 0.8888888889
4 ± 0.8611363116 0.3478548451
± 0.3399810436 0.6521451549
5 ± 0.9061798459 0.2369268851
± 0.5384693101 0.4786286705
0 0.5688888889
Para poder resolver el problema en el intervalo general [a, b], es necesario
ajustar los valores de x
i
y w
i
a x

i
y w

i
respectivamente, mediante un cambio
de variable, es decir
_
b
a
f(x)dx ≈
n

i=1
w

i
f(x

i
), a ≤ x
i
≤ b, 1 ≤ i ≤ n. (4.21)
donde
x

i
=
a + b
2
+
b −a
2
x
i
, w

i
=
b −a
2
w
i
(4.22)
66 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
de donde obtenemos nuestra f´ormula principal para el m´etodo de cuadratura
gaussiana:
1
_
b
a
f(x)dx ≈
b −a
2
n

i=1
w
i
f(
a + b
2
+
b −a
2
x
i
) (4.23)
para a ≤ x
i
≤ b, 1 ≤ i ≤ n
Proyecto 4.1. Construya un programa en Scheme o en alg´ un otro lenguaje,
para obtener los datos de la tabla 4.5 correspondiente a un entero n > 1
4.3. Integraci´on m´ ultiple
Para evaluar integrales m´ ultiples en regiones rectangulares, podemos aplicar
los m´etodos de las secciones previas de una manera similar a la composici´ on
de funciones. Por ejemplo para el caso bidimensional tenemos:
__
R
f(x, y)dA =
_
b
a
__
d
c
f(x, y)dy
_
dx (4.24)
donde R = ¦(x, y)[a ≤ x ≤ b, c ≤ y ≤ d¦, para ciertas valores a, b, c, d ∈ R
Para este caso, un m´etodo de soluci´on es aplicar primero la regla com-
puesta de Simpson (ecuaci´on 4.12) para aproximar
_
d
c
f(x, y)dy (4.25)
donde asumimos x
i
como constante.
Subdividiendo [c, d] en un n´ umero par m de subintervalos, con k = (d −
c)/m, entonces y
j
= c + jk para 0 ≤ j ≤ m, y podemos escribir:
_
d
c
f(x, y)dy ≈
k
3
[f(x, y
0
) + 4A
x
+ 2B
x
+ f(x, y
m
)] (4.26)
donde
A
x
=

m/2
j=1
f(x, y
2j−1
)
1
Este m´etodo se conoce tambi´en como m´etodo de Gauss-Legendre, el cual no debe
confundirse con el llamado algoritmo de Gauss-Legendre, utilizado para aproximar el valor
de π.
4.4. APLICACIONES 67
B
x
=

(m/2)−1
j=1
f(x, y
2j
)
Podemos ahora escribir nuestra integral doble como:
_
b
a
_
d
c
f(x, y)dydx ≈
k
3
_
_
b
a
f(x, y
0
)dx + 4
_
b
a
A
x
dx
+ 2
_
b
a
B
x
dx +
_
b
a
f(x, y
m
)dx
¸
(4.27)
Ahora aplicamos de nuevo la regla compuesta de Simpson, a cada una de las
integrales del lado derecho, donde cada una de ellas tiene la forma siguiente
y se aplican para y
j
con 0 ≤ j ≤ m
_
b
a
f(x, y
j
)dx ≈
h
3
[f(x
0
, y
j
) + 4A + 2B + f(x
n
, y
j
)] (4.28)
donde
A =

n/2
i=1
f)(x
2i−1
, y
j
)
B =

(n/2)−1
i=1
f(x
2i
, y
j
)
donde x
i
= a + ih para 0 ≤ i ≤ n.
4.4. Aplicaciones
Aplicaci´on 4.1 (Generaci´on de variables aleatorias).
Aplicaci´on 4.2 (Generaci´on de tablas de distribuciones de probabilidad).
Aplicaci´on 4.3 (Cinem´atica de un robot de dos eslabones). Dada una fun-
ci´on polinomial que describe la trayectoria de la “mano” de un robot de dos
eslabones, calcular su velocidad y aceleraci´on (continuaci´on de la aplicaci´on
3.1).
Aplicaci´on 4.4 (Centros de gravedad).
68 CAP
´
ITULO 4. DIFERENCIACI
´
ON E INTEGRACI
´
ON NUM
´
ERICA
Cap´ıtulo 5
Soluci´on de ecuaciones
diferenciales
[Un teorema fundamental del
an´alisis num´erico:] consistencia
+ estabilidad = convergencia
Germund Dahlquist[28]
5.1. M´etodos de un paso
Definici´on 5.1.1 (M´etodo de un paso). Llamamos m´etodo de un paso para
resolver el problema de valor inicial
y

= f(x, y), y(x
0
) = y
0
, x
0
≤ x ≤ b (5.1)
a un procedimiento de integraci´on dado por
y
n+1
= ay
n
+ h[bf(x
n
, y
n
)] (5.2)
donde h = (b −x
0
)/N, y n = 0, 1, . . . , N −1
5.1.1. M´etodo de Euler y formas mejorada
El m´etodo de Euler utiliza a = 1, b = 1 en la ecuaci´on 5.2, por lo cual
emplea:
y
n+1
= y
n
+ hf(x
n
, y
n
) (5.3)
69
70 CAP
´
ITULO 5. SOLUCI
´
ON DE ECUACIONES DIFERENCIALES
Este se obtiene de considerar una aproximaci´on lineal a la para la soluci´on ex-
acta Y (x) del problema de valor inicial (ecuaci´on 5.1. Es decir, consideramos
que Y (x
0
) = y
0
y:
Y

(x) = f[x, Y (x)], x
0
≤ x ≤ b (5.4)
La aproximaci´on lineal de Y

(x) se representa como:
Y

(x) ≈
Y (x + h) −Y (x)
h
(5.5)
de donde, despejando Y (x + h) obtenemos:
Y (x + h) ≈ Y (x) + hY

(x)
≈ Y (x) + hf[x, y(x)]
Denotando Y (x+h) como y
n+1
y f[x, y(x)] por f(x
n
, y
n
) obtenemos la f´ormu-
la del m´etodo de Euler (ecuaci´on 5.3)
El m´etodo de Euler es uno de los m´as b´asicos, por lo que es s´olo un punto
de partida en nuestro estudio. Veamos dos m´etodos
1
que de manera directa
mejoran el m´etodo de Euler:
M´etodo de Heun. Mejora el c´alculo de la pendiente, utilizando dos pun-
tos (inicial y final de cada intervalo) para luego obtener un promedio,
es decir:
2
y
0
i+1
= y
i
+ hf(x
i
, y
i
)
y
i+1
= y
i
+ h
f(x
i
, y
i
) + f(x
i+1
, y
0
i+1
)
2
(5.6)
M´etodo del punto medio. En este caso se mejora la estimaci´on de la
pendiente, utilizando el punto medio entre x
i
y x
i+1
. Por tanto, la
f´ormula de iteraci´on puede escribirse como:
y
i+1
= y
i
+ hf(x
i+1/2
, y
i+1/2
) (5.7)
1
De hecho, estos m´etodos se consideran tambi´en entre los m´etodos de Runge-Kutta,
que veremos en la secci´on 5.1.2 (ver [5] pp. 272-276)
2
Existen varias formas de representar estas ecuaciones.
5.1. M
´
ETODOS DE UN PASO 71
C´odigo Scheme 5.1: Funci´on euler para aproximar la soluci´on a y

= f(x, y)
; ; m’ etodo de Eul er para y’=f ( x , y) con y( a)=ya
2 ( define ( e ul e r f a b ya n)
( l et ( ( h (/ (− b a ) n ) ) )
4 (do ( ( k 0 (+ k 1) )
( x a (+ x h) )
6 ( y ya
(+ y (∗ h ( f x y ) ) ) ) ; un paso
8 ( data ’ ( )
( cons ( l i s t k ( f t 7 x) ( f t 7 y ) )
10 data ) ) )
((> k n) ( r e ve r s e data ) ) ) ) )
Ejemplo 5.1.1. Apliquemos el m´etodo de Euler para determinar la soluci´on
num´erica de la ecuaci´on
y

= y
2
xe
x−y
(5.8)
para 0 ≤ x ≤ 1 y condici´on inicial y(0) = 1. Utilice n = 10. Las interacciones
con la funci´on euler son las siguientes:
>( e ul e r (lambda( x y)
(∗ ( expt y 2) x (exp (− x y ) ) ) )
0 1. 1 10)
( ( 0 0 1)
(1 0. 1 1)
(2 0. 2 1. 0040657)
(3 0. 3 1. 0130887)
(4 0. 4 1. 02818)
(5 0. 5 1. 0507423)
(6 0. 6 1. 082568)
(7 0. 7 1. 1259675)
(8 0. 8 1. 183931)
(9 0. 9 1. 2603152)
(10 1. 0 1. 3600205) )
>
72 CAP
´
ITULO 5. SOLUCI
´
ON DE ECUACIONES DIFERENCIALES
5.1.2. M´etodos de Runge-Kutta
Los m´etodos de Runge-Kutta extienden la f´ormula general de los m´etodos
de un paso (ecuaci´on 5.2), utilizando el siguiente esquema (ver por ejemplo
[6] pp. 734-735)
y
i+1
= y
i
+ hφ(x
i
, y
i
, h) (5.9)
donde φ(x
i
, y
i
, h) se denomina funci´on incremento y representa una aproxi-
maci´on de la pendiente del intervalo [x
i
, x
i+1
]. Dicha aproximaci´on se calcula
como una combinaci´on lineal de las pendientes en puntos espec´ıficos del in-
tervalo.
M´etodo de Runge-Kutta de cuarto orden
Este es uno de los m´etodos m´as utilizados, ya que resuelve el problema
de valor inicial con un error del orden O(h
4
)
y
i+1
= y
i
+
h
6
(k
1
+ 2k
2
+ 2k
3
+ k
4
) (5.10)
donde
k
1
= f(x
i
, y
i
)
k
2
= f(x
i
+
h
2
, y
i
+
h
2
k
1
)
k
3
= f(x
i
+
h
2
, y
i
+
h
2
k
2
)
k
4
= f(x
i
+ h, y
i
+ hk
3
)
Podemos implementar el m´etodo de Runge-Kutta de orden 4, mediante
el c´odigo indicado en 5.2:
5.2. M
´
ETODOS DE PASOS M
´
ULTIPLES 73
C´odigo Scheme 5.2: Funci´on runge-kutta-4 para aproximar la soluci´on a
y

= f(x, y)
; ; M’ etodo de Runge−Kutta de orden 4 para y’=f ( x , y)
2 ( define ( runge−kutta −4 f x0 xn y0 h)
( l et ∗ ( (m (/ h 2) )
4 ( paso−rk4
(lambda( x y)
6 ( l et ∗ ( ( k1 ( f x y ) )
( k2 ( f (+ x m) (+ y (∗ m k1 ) ) ) )
8 ( k3 ( f (+ x m) (+ y (∗ m k2 ) ) ) )
( k4 ( f (+ x h) (+ y (∗ h k3 ) ) ) ) )
10 (+ y (∗ (/ h 6)
(+ k1 (∗ 2 k2 ) (∗ 2 k3 ) k4 ) ) ) ) ) ) )
12 ( l et c i c l o ( ( x x0 ) ( y y0 ) ( data ( l i s t ( l i s t x0 y0 ) ) ) )
(cond ((>= (+ x h) xn) ( r e ve r s e data ) )
14 ( el se
( c i c l o (+ x h)
16 ( paso−rk4 x y)
( cons ( l i s t ( f t 7 (+ x h) )
18 ( f t 7 ( paso−rk4 x y ) ) )
data ) ) ) ) ) ) )
Problema 5.1.1. Aplique el m´etodo de Euler y el m´etodo de Runge-Kutta
para resolver la ecuaci´on y

= 2x +cos(y) con y(0) = 0. Experimente y com-
pare con diferentes par´ametros y grafique sus resultados de manera similar a
la figura 5.1.
5.2. M´etodos de pasos m´ ultiples
Definici´on 5.2.1 (M´etodo de pasos m´ ultiples, adaptado de [8]). Llamamos
m´etodo de pasos m´ ultiples o m´etodo multipaso para resolver el problema de
valor inicial (ver ecuaci´on 5.1) a un procedimiento de integraci´on dado por
y
n+1
= hcf(x
n+1
, y
n+1
) +
m−1

i=0
[a
i
y
n−i
+ hb
i
f(x
n−i
, y
n−i
)] (5.11)
74 CAP
´
ITULO 5. SOLUCI
´
ON DE ECUACIONES DIFERENCIALES
Figura 5.1: Campo direccional para y

= 2x + cos(y) y trayectoria para
y(0) = 0, en [−3, −3] [3, 3]
donde m > 1, h = (b − x
0
) y n = m− 1, m, . . . , N − 1. Es un m´etodo de m
pasos siempre que a
2
m−1
+ b
2
m−1
> 0. Si c = 0 el m´etodo es expl´ıcito o abierto,
en caso contrario, el m´etodo es impl´ıcito o cerrado.
5.2.1. M´etodo de Adams-Bashforth
Este es un m´etodo abierto ya que y
n+1
se determina expl´ıcitamente.
El problema de valor inicial a resolver es:
y

= f(x, y), para y(x
0
) = y
0
, x
0
≤ x < b (5.12)
Considerando que estamos en la iteraci´on n y que hemos obtenido la soluci´on
exacta Y
n
= y(x
n
), podemos integrar la ecuaci´on anterior desde x
n
a x
n+1
:
_
x
n+1
xn
y

dx =
_
x
n+1
xn
f[x, Y (x)]dx (5.13)
5.2. M
´
ETODOS DE PASOS M
´
ULTIPLES 75
de donde encontramos:
Y
n+1
= Y
n
+
_
x
n+1
xn
f[x, Y (x)]dx (5.14)
Para estimar la integral de la ecuaci´on anterior, utilizaremos un polinomio
interpolador de Lagrange p
n
(x) determinado por los puntos
(x
0
, F
0
), . . . , (x
n
, F
n
)
donde F
i
= F
(
x
i
), 0 ≤ i ≤ n, cumple con F
i
= Y

(x
i
) = f[x
i
, Y (x
i
)].
Desarrollando las diferencias divididas en t´erminos de F
n
obtenemos la
f´ormula de diferencias regresivas de Newton siguiente:
p
n
(x) =
n

k=0
(−1)
k
(
−s
k
) (∇
k
F
n
) (5.15)
La f´ ormula general para el m´etodo de Adams-Bashforth de orden m:
y
n+1
= y
n
+ h
_
y

n
+
1
2
(∇y

n
) +
5
12
(∇
2
y

n
) + + c
m−1
(∇
m−1
y

n
)
_
(5.16)
donde c
m−1
= (−1)
m−1
_
0
1
_
−s
m−1
_
ds
Proyecto 5.1. Construir un programa de computadora para calcular el valor
de la integral
_
0
1
_
−s
k
_
ds, y apl´ıquelo para determinar las f´ormulas para el
m´etodo de Adams-Bashforth de orden 6 y 7.
Dos dos m´etodos de Adams-Bashforth m´as utilizados, son los de orden 3
y 4, los cuales corresponden a las f´ormulas siguientes:
M´etodo Adams-Bashforth de orden 3:
y
n+1
= y
n
+
h
12
[23f(x
n
, y
n
) −16f(x
n−1
, y
n−1
) +5f(x
n−2
, y
n−2
)] (5.17)
con error por truncamiento del orden O(h
4
)
M´etodo Adams-Bashforth de orden 4:
y
n+1
= y
n
+
h
24
[55f(x
n
, y
n
) −59f(x
n−1
, y
n−1
)
+ 37f(x
n−2
, y
n−2
) −9f(x
n−3
, y
n−3
)]
(5.18)
con error por truncamiento del orden O(h
5
)
76 CAP
´
ITULO 5. SOLUCI
´
ON DE ECUACIONES DIFERENCIALES
5.2.2. M´etodo de Adams-Moulton
Este es un m´etodo cerrado, ya que y
n+1
se determina impl´ıcitamente. La
t´ecnica para obtener las f´ormulas es similar al caso de Adams-Bashforth.
Presentamos las f´ormulas asociadas a los m´etodos de Adams-Moulton
orden 3 y 4:
M´etodo Adams-Moulton de orden 3:
y
n+1
= y
n
+
h
24
[9f(x
n+1
, y
n+1
) + 19f(x
n
, y
n
)
−5f(x
n−1
, y
n−1
) + 2f(x
n−2
, y
n−2
)]
(5.19)
con error por truncamiento del orden O(h
5
)
M´etodo Adams-Moulton de orden 4:
y
n+1
= y
n
+
h
720
[251f(x
n+1
, y
n+1
) + 646f(x
n
, y
n
)
−264f(x
n−1
, y
n−1
) + 106f(x
n−2
, y
n−2
)
−19f(x
n−3
, y
n−3
)]
(5.20)
con error por truncamiento del orden O(h
6
)
5.3. Sistemas de ecuaciones diferenciales or-
dinarias
Los m´etodos descritos en las secciones previas para resolver el problema
de valor inicial (ecuaci´on 5.1) se generalizan de forma directa para resolver el
problema de valor inicial generalizado, para un sistema de ecuaciones difer-
enciales de primer orden.
Definici´on 5.3.1 (Problema de valor inicial generalizado).
y

i
= f
i
(x, y
1
, y
2
, . . . , y
n
), y
i
(x
0
) = y
i,0
, x
0
≤ x ≤ b (5.21)
Para demostrar la existencia y unicidad de la soluci´on al problema ante-
rior, es necesario que las funciones f
i
cumplan con la condici´on de Lipschitz
para funciones de varias variables (ver [5] pp. 313-314)
5.4. APLICACIONES 77
Consideremos el caso de un sistema de dos ecuaciones, a resolver por el
m´etodo de Euler:
y
1,n+1
= y
1,n
+ hf
1
(x
n
, y
1,n
, y
2,n
), n ≥ 0
y
2,n+1
= y
2,n
+ hf
2
(x
n
, y
2,n
, y
2,n
), n ≥ 0
(5.22)
El proceso de realiza de forma simult´anea, con las condiciones iniciales y
1
(x
0
) =
y
1,0
y y
2
(x
0
) = y
2,0
.
De manera similar podemos desarrollar las ecuaciones para el caso del
m´etodo de Runge-Kutta de orden 4.
Proyecto 5.2 (Convergencia vs errores). Considere las diferencias en ´enfasis
entre los ´ordenes en la velocidad de convergencia de los m´etodos, y el orden de
los errores por truncamiento, ambos con respecto al valor de h. Sugerencia:
Consulte el excelente ensayo de Lloyd N. Trefethen [26, p. 11].
5.4. Aplicaciones
Aplicaci´on 5.1 (Redes de circuitos el´ectricos).
Aplicaci´on 5.2 (Simulaci´on de un p´endulo).
Aplicaci´on 5.3 (Ecuaciones de Lorenz: un modelo de convecci´on).
78 CAP
´
ITULO 5. SOLUCI
´
ON DE ECUACIONES DIFERENCIALES
Bibliograf´ıa
[1] H. Abelson, G. J. Sussman, con J. Sussman. Structure and Interpre-
tation of Computer Programs, 2/e. MIT Press, 1996. Disponible elec-
tr´onicamente en http://mitpress.mit.edu/sicp/
[2] X. Aberth. Introduction to Precise Numerical Methods. Academic Press,
2008
[3] S. Banach. C´alculo diferencial e integral. Colecci´on de Textos Polit´ecni-
cos. Serie Matem´aticas. Editorial Limusa, 1996 (original en polaco, 1929)
[4] L. Blum, F. Cucker, M. Shub, S. Smale. Complexity and Real Compu-
tation. Springer-Verlag, New York, 1998
[5] R. L. Burden, J. D. Faires. An´alisis num´erico. 7ma. edici´on. Thomson
Learning. 2002
[6] S. C. Chapra, R. P. Canale. M´etodos num´ericos para ingenieros: con
programas de aplicaci´on, 4/e McGraw-Hill Interamericana, 2003
[7] B. P. Demidovich, I. A. Maron. Computational Mathematics. MIR Pub-
lishers, Mosc´ u, 1973
[8] M. Friedman, A. Kandel. Fundamentals of Computer Numerical Analy-
sis. CRC Press, Inc. 1994
[9] N. Gershenfeld. The Nature of Mathematical Modeling. Cambridge Uni-
versity Press, 1999
[10] D. Goldberg. What every computer scientist should know about floating
point arithmetic. Computing Reviews, ACM, march 1991
79
80 BIBLIOGRAF
´
IA
[11] R. L. Graham, D. E. Knuth, O. Patashnik. Concrete Mathematics: A
foundation for computer science, 2/e. Addison-Wesley Publ. Co., 1994
[12] R. W. Hamming. Numerical Methods for Scientists and Engineers, 2/e.
Dover, 1986
[13] IEEE Computer Society. IEEE Standard for Binary Floating Point
Arithmetic. IEEE Std 754-1985
[14] James y James. Mathematics Dictionary, 5/e. Van Nostrand Reinhold,
N.Y. 1992
[15] D. E. Knuth. The Art of Computer Programming, Volume 2: Seminu-
merical Algorithms, 2/e. Addison-Wesley Publ. Co., 1981
[16] John H. Mathews, Kurtis D. Fink. M´etodos Num´ericos con MATLAB,
3/e. Prentice-Hall, 2000
[17] C. Moler. Floating points:IEEE Standard unifies arithmetic model.
Cleve’s Corner. Disponible en
http://www.mathworks.com/company/newsletters/news notes/
pdf/Fall96Cleve.pdf
[18] C. Moler. Numerical Computing with MATLAB. Disponible en:
http://www.mathworks.com/moler/index.html
[19] Numerical Analysis Digest http://www.netlib.org/na-net
[20] Numerical Mathematics Consortium http://www.nmconsortium.org
[21] PLaneT Package Repository. Disponible en: planet.plt-scheme.org.
[22] A. Ralston, P. Rabinowitz. A First Course in Numerical Mathematics,
2/e. Dover, 2001
[23] A. Stanoyevitch. Introduction to MATLAB with Numerical Preliminar-
ies. John Wiley & Sons, Inc., 2005
[24] Sun Microsystems Numerical computation guide. Disponible en:
http://docs.sun.com/app/docs/doc/802-5692/. Consultado 2008.02.22
BIBLIOGRAF
´
IA 81
[25] D. Sitaram. Teach yourself Scheme in fixnum days. 1998-2001. Docu-
mento disponible en:
http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html
[26] Lloyd N. Trefethen. Numerical Analysis. A ser inclu-
ido en: W. T. Gowers, ed., Princeton Companion to
Mathematics, Princeton U. Press. 2008. Disponible en:
http://www.comlab.ox.ac.uk/people/nick.trefethen/publication/
PDF/2006 117.pdf. Consultado 2008.08.07
[27] W. Tucker. Auto-validating numerical methods. Curso de verano, 2004.
Disponible en: http://www.math.uu.se/∼warwick/summer04/info.html
[28] Gerhard Wanner Germund Dahlquist’s Classical Papers on Stability
Theory. Disponible en: http://www.unige.ch/∼wanner/DQsem.pdf
82 BIBLIOGRAF
´
IA
´
Indice de Algoritmos
2.1. M´etodo de bisecci´on . . . . . . . . . . . . . . . . . . . . . . . 26
2.2. M´etodo de punto fijo . . . . . . . . . . . . . . . . . . . . . . . 32
2.3. M´etodo de Newton-Raphson est´andar . . . . . . . . . . . . . . 36
2.4. M´etodo de la secante . . . . . . . . . . . . . . . . . . . . . . . 38
2.5. M´etodo de Aitken . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6. M´etodo de Bairstow (requiere: algoritmo 2.7) . . . . . . . . . . 42
2.7. Factor cuadr´atico para Bairstow (algoritmo 2.6) . . . . . . . . 43
3.1. M´etodo de punto fijo para sistemas . . . . . . . . . . . . . . . 49
3.2. M´etodo de Newton-Raphson para sistemas . . . . . . . . . . . 50
83
84
´
INDICE DE ALGORITMOS
´
Indice de c´odigo Scheme
1.1. Funci´on real->ieee-doble . . . . . . . . . . . . . . . . . . . . . 8
1.2. Funci´on crea-mit para crear una m´aquina iterativa b´asica . . . 22
2.1. Funci´on biseccion asociada al algoritmo 2.1 . . . . . . . . . . 27
2.2. Funci´on biseccion-data asociada al algoritmo 2.1 . . . . . . . 28
2.3. Funci´on punto-fijo asociada al algoritmo 2.2 . . . . . . . . . 33
2.4. Funci´on punto-fijo-data asociada al algoritmo 2.2 . . . . . . 34
2.5. Funci´on para el m´etodo de Newton-Raphson . . . . . . . . . . 37
4.1. Funci´on para calcular f

(x
0
) seg´ un ecuaci´on 4.4 . . . . . . . . 58
4.2. Funci´on para la regla compuesta de Simpson . . . . . . . . . . 61
4.3. Funci´on para el m´etodo de Romberg . . . . . . . . . . . . . . 63
5.1. Funci´on euler para aproximar la soluci´on a y

= f(x, y) . . . . 71
5.2. Funci´on runge-kutta-4 para aproximar la soluci´on a y

=
f(x, y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
85
86
´
INDICE DE C
´
ODIGO SCHEME
´
Indice de figuras
1.1. Ejemplo de error por redondeo . . . . . . . . . . . . . . . . . . 12
1.2. Ejemplo de eliminaci´on del error por redondeo, al utilizar
n´ umeros racionales . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1. Bisecciones para el ejemplo 2.2.2 . . . . . . . . . . . . . . . . . 29
4.1. Estimaci´on b´asica de una derivada . . . . . . . . . . . . . . . 54
5.1. Campo direccional para y

= 2x + cos(y) y trayectoria para
y(0) = 0, en [−3, −3] [3, 3] . . . . . . . . . . . . . . . . . . . 74
87
88
´
INDICE DE FIGURAS
´
Indice de tablas
1.1. Precisi´on en Formatos IEEE 754 . . . . . . . . . . . . . . . . . 6
4.1. Ejemplo comparativo para la derivada de cot(x) . . . . . . . . 55
4.2. Ejemplo comparativo para la derivada de f(x) = e
x
. . . . . . 56
4.3. F´ormulas de diferencias centradas de orden O(h
2
) para derivadas 57
4.4. F´ormulas de diferencias centradas de orden O(h
4
) para derivadas 57
4.5. Nodos y pesos para cuadratura gaussiana . . . . . . . . . . . . 65
89
90
´
INDICE DE TABLAS
´
Indice alfab´etico
cifras significativas, 3
computaci´on confiable, 25
convergencia
criterio de, 20
factor de, 31
orden de, 31
derivaci´on
f´ormulas de orden O(h
2
), 57
f´ormulas de orden O(h
4
), 57
diferenciaci´on num´erica, 53
diferencias
f´ormula de cinco puntos, 57
f´ormula de tres puntos, 56
DrScheme, 6
error
absoluto, 9
num´erico total, 17
por redondeo, 11
por truncamiento, 13
relativo, 9
incertidumbre, 9
intervalos, 9
iteraci´on
de Newton-Raphson univariable,
35
MATLAB, 6
m´etodo
Bairstow, 39
cerrado, 25
de cuadratura gaussiana, 64
de intervalo, 25
de punto fijo, 30
de Romberg, 61
de Runge-Kutta, 72
de Runge-Kutta de cuarto orden,
72
de Simpson, 59
del trapecio, 58
directo, 20
iterativo, 20
iterativo est´andar, 30
n´ umeros
binarios de punto flotante normal-
izado, 5
punto flotante, 5
punto flotante normalizado, 5
precisi´on, 6
punto fijo, 20
Scheme, 6
sesgo, 9
software, 17
acceso libre, 18
bibliotecas de funciones (Libraries),
19
comercial, 19
91
92
´
INDICE ALFAB
´
ETICO
teorema
de Bolzano, 26
de Taylor, 14

ii

c Licencia de uso: Esta obra se publica bajo una licencia de Creative Commons (ver: http://creativecommons.org/licences/by-nc-nd/2.5/). B´sia camente, usted puede distribuir y comunicar p´blicamente la obra, siempre u que se cumpla con (1) dar cr´dito al autor de la obra, (2) no la utilice para e fines comerciales y (3) no la altere, transforme o genere una obra derivada de ella. Adem´s, al utilizar o distribuir la obra, debe especificar claramente los a t´rminos de esta licencia. Estas condiciones pueden modificarse con permiso e escrito del autor.

Edici´n preliminar 0.23 o 24 de marzo, 2009

´ Indice general
Prefacio 1. Teor´ de errores ıa 1.1. Importancia de los m´todos num´ricos e e 1.2. Conceptos b´sicos . . . . . . . . . . . . a 1.2.1. Cifras significativas . . . . . . . 1.2.2. Precisi´n y exactitud . . . . . . o 1.2.3. Incertidumbre y sesgo . . . . . 1.3. Tipos de errores . . . . . . . . . . . . . 1.3.1. Error absoluto y relativo . . . . 1.3.2. Error por redondeo . . . . . . . 1.3.3. Error por truncamiento . . . . . 1.3.4. Error num´rico total . . . . . . e 1.4. Software de c´mputo num´rico . . . . . o e 1.4.1. Software de acceso libre . . . . 1.4.2. Software comercial . . . . . . . 1.4.3. Bibliotecas de funciones . . . . 1.5. M´todos iterativos . . . . . . . . . . . e 2. M´todos de soluci´n de ecuaciones e o 2.1. M´todos basados en intervalos . . . . e 2.2. M´todo de bisecci´n . . . . . . . . . e o 2.3. M´todo de aproximaciones sucesivas . e 2.3.1. Condici´n de Lipschitz . . . . o 2.3.2. Iteraci´n y convergencia . . . o 2.4. M´todos basados en interpolaci´n . . e o 2.4.1. M´todo de Newton-Raphson . e 2.4.2. M´todo de la secante . . . . . e iii
VII

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

1 1 3 3 4 8 9 9 11 13 17 17 18 19 19 20 25 25 26 30 30 31 35 35 37

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . M´todo de Gauss-Seidel .2. M´todo de Bairstow . . . Iteraci´n y convergencia . . . . . . . . . . . . . . . . . . . . .2. . M´todo de cuadratura gaussiana e 4. . e 5. . . . . . . . 39 e 2. . . . . Aplicaciones . . . . . . . . . o e 4. . Aplicaciones . . . M´todos de un paso . . . . . . . . . . . .1. . . . . . . . M´todos para sistemas de ecuaciones e 3.1.1. . . . . . .1. . . . . . . . . . . .1. . . . . . . . . . .2. . . . . . . o 4.3. .3. . . . . .2. . e 5. M´todo de Adams-Moulton . . . . .4. . . . . . . . . . . . Soluci´n de ecuaciones diferenciales o 5.2. . . M´todo de Aitken . . . . . . . . 5. . .4. . . . . . . . . . o u 4. . . . . . . . . . . . . . . . e 4. . . . . . . . . e 4. . . M´todo iterativo secuencial . . . . . . . e 3. . . .1. . . . .5. . . . . . . . e 5. . . 38 e 2. . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . .1. . . . Bibliograf´ ıa . . . . . . . . . . . . . . o 3. . . . . . . . . . . . . . .4. . . . o 4. . . . . e 3. .2. . . . . M´todo de Adams-Bashforth . M´todo del trapecio . F´rmula de cinco puntos . . . . Integraci´n de Romberg .2. . . .3. . . .1. e 3. . . . . . .2. . . . . . . . . Integraci´n m´ltiple . . . . . . . 5. 43 3. . .2. . . . . . . . M´todo de Newton-Raphson . Aplicaciones .1. o 4. . . . . .2. . . . Aplicaciones . . . . . . . . . . M´todos iterativos . . Sistemas de ecuaciones . . 45 45 45 46 47 47 49 49 51 53 53 56 56 57 58 58 59 61 64 66 67 69 69 69 72 73 74 76 76 77 79 4. . . . M´todos de Runge-Kutta . . . e 5. . . . . . . . . . . . . . . . . . . . . e 3. . .1. . . . . . . . . . . .3. . .1. . . 3. e 5. . . . . . . Sistemas de ecuaciones no lineales . . . . . . F´rmula de tres puntos . . . . .3. . . .iv ´ INDICE GENERAL 2. . . . . . . .1. . e 3. M´todos de Simpson . M´todo de Euler y formas mejorada . . M´todo de Jacobi . . . . . . . . . . . . . . . . . . .1. . . . . . o e 4. . . . . e u 5. .1. . . . . . . . . . Integraci´n num´rica . . . . . . . . F´rmulas de diferencia . . . . . . . . Diferenciaci´n num´rica . . . . . .6. . . .3. . . . M´todos de pasos m´ltiples .4. . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . .2. .3. . . . . . . . . . . . . . .1. .2. . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . o 4. . . Diferenciaci´n e integraci´n num´rica o o e 4. . .2.2. . . . . . . .

´ INDICE GENERAL ´ Indice de algoritmos ´ Indice de c´digo Scheme o ´ Indice de figuras ´ Indice de tablas ´ Indice alfab´tico e v 83 85 87 89 91 .

vi ´ INDICE GENERAL .

Agradezco a la Academia de Sistemas y Computaci´n por la revisi´n y o o observaciones para mejorar esta obra.com vii . not numbers. Autor de Numerical Methods for Scientist and Engineers El contenido de esta obra se conforma de acuerdo al curso de M´todos e Num´ricos en el plan de estudios actual de Ingenier´ en Sistemas Computae ıa cionales del Instituto Tecnol´gico de Tijuana. Para la implementaci´n o de estos ultimos se utiliza el lenguaje de programaci´n Scheme [25].Prefacio The purpose of computing is insight. R. as´ como a la DGEST por el per´ ı ıodo sab´tico 2007-2008. gracias al cual se ha realizado este proyecto. Hamming. W. a ECB comer@cemati. Se hace ´nfasis tanto en los aso e pectos matem´ticos conceptuales como algor´ a ıtmicos. ´ o La edici´n de este libro se realiz´ con TeXnicCenter (ambiente para Lao o TeX/MiKTeX) y software auxiliar como WinGCLC y Asymptote.

viii PREFACIO .

1. Importancia de los m´todos num´ricos e e La simulaci´n y el modelado o matem´tico. William H.Cap´ ıtulo 1 Teor´ de errores ıa 1. mover´n el siglo a a XXI. desde la programaci´n empotrada de una calculadora cient´ a o ıfica y el c´lculo estructural de un edificio multinivel con estructuras de acero. La soluci´n n o o de un modelo matem´tico relativamente sencillo puede obtenerse de manera a anal´ ıtica. las soluciones anal´ ıticas pueden no existir o ser extremadamente complejas. por lo cual se recurre a m´todos num´ricos que aproximen las e e soluciones dentro de ciertos m´rgenes de tolerancia. as´ como de ı la confiabilidad de los resultados num´ricos obtenidos durante su aplicaci´n. a hasta el dise˜o y simulaci´n de aeronaves y vuelos espaciales. as´ como el vapor movi´ el ı o siglo XIX. para la gran mayor´ de los modelos matem´ticos del ıa a mundo real. Press. a El an´lisis de los m´todos num´ricos nos permite realizar estimaciones a e e tanto de la eficiencia o complejidad de los algoritmos asociados. Sin embargo. e o Entre las disciplinas que hacen uso intensivo de los m´todos num´ricos e e podemos mencionar: An´lisis Estad´ a ıstico 1 . Autor de Numerical Recipes Gran parte de la tecnolog´ actual depende de la soluci´n de modelos ıa o matem´ticos.

TEOR´ DE ERRORES IA Electromagnetismo computacional Mec´nica computacional a Procesamiento de im´genes a Procesamiento de se˜ales n Simulaci´n por computadora o Computaci´n multi-escala o Metereolog´ ıa Debido a la gran variedad de aplicaciones y especialidades atendidas por los m´todos num´ricos.2 Matem´ticas financieras a An´lisis de elemento finito a An´lisis estructural a Qu´ ımica computacional Investigaci´n de operaciones o CAP´ ITULO 1. podemos encontrar en la literatura t´rminos asociados e e e como los siguientes: Matem´ticas num´ricas a e Algoritmos num´ricos e Computaci´n cient´ o ıfica An´lisis num´rico a e Matem´ticas algor´ a ıtmicas Matem´ticas computacionales a Teor´ de la aproximaci´n1 ıa o 1 Esta disciplina matem´tica. forma la base te´rica de gran parte de los m´todos num´ria o e e cos .

o Definici´n 1. . Ejemplo 1. Conceptos b´sicos a El estudio y aplicaci´n de los m´todos num´ricos se basa en forma esencial o e e en la representaci´n y manipulaci´n de los n´meros reales en una computao o u dora digital. decimos que 0.2. El n´mero de cifras significatio u vas de un n´mero x corresponde al n´mero de cifras en la mantisa de su u u representaci´n en notaci´n cient´ o o ıfica. CONCEPTOS BASICOS 3 1.´ 1.2.00123 = 1. El n´mero 3210 = 3.00123 tiene tres cifras significativas.1.210 · 103 posee cuatro cifras significau tivas. Ejemplo 1. La estrategia para hacer funcional y eficiente u la aproximaci´n de los n´meros reales por n´meros de m´quina en binario se o u u a presenta en el est´ndar IEEE 754 [13] a Los t´rminos asociados en esta secci´n incluyen: e o Confiabilidad Estabilidad y convergencia Propagaci´n del error o An´lisis asint´tico a o Notaci´n cient´ o ıfica Forma decimal normalizada N´meros de m´quina decimales con k d´ u a ıgitos N´meros de punto flotante (Est´ndar IEEE 754) u a 1.2.1. Ya que 0. Cifras significativas La noci´n intuitiva de cifras significativas de un n´mero est´ directamente o u a relacionada con la precisi´n de los ins-trumentos o procesos que lo generan.2.1 (Cifras significativas). ´sta s´lo puede e o representar n´meros racionales.23·10−3 . Ya que la memoria de una computadora es finita.2.2.2.

4

CAP´ ITULO 1. TEOR´ DE ERRORES IA

Note que en el ejemplo anterior, hemos mantenido el 0 de las unidades. Si el origen del n´mero no garantizara el valor de sus unidades, entonces u deber´ ıamos escribir directamente 3.21 · 103 lo que indicar´ que contamos con ıa s´lo tres cifras significativas. o Definici´n 1.2.2 (Aproximaci´n con t cifras significativas). Sean xv y xc los o o valores verdadero y calculado de una cierta cantidad, con xv = xc . Decimos que xc aproxima a xv con t cifras significativas si t es el mayor entero no negativo para el cual xv − xc ≤ 5 × 10−t (1.1) xv Para el caso xv = xc , xc aproxima xv con las cifras significativas propias. Como se observa en [8, p´g. 53] esta definici´n dada para decimales puede a o 2 extenderse para cualquier base dada. Ejemplo 1.2.3. El n´mero 3.1416 aproxima a 3.1415926 en 6 cifras signiu ficativas, ya que

|3.1415926 − 3.1416| = 2.3554932 × 10−6 ≤ 5 × 10−6 |3.1415926| Como se observa, no es necesario que coincidan los d´ ıgitos de las cifras significativas. Ejercicio 1.2.1. Calcular el n´mero de cifras significativas con que 9.99 u aproxima a 10 Ejercicio 1.2.2. Calcular el n´mero de cifras significativas con que 1005 u aproxima a 1000

1.2.2.

Precisi´n y exactitud o

El estudio e implementaci´n en computadora de los m´todos num´ricos o e e requiere de un cuidado especial en el manejo de los n´meros, de forma que los u
Es importante notar que en la desigualdad (1.1) se utiliza algunas veces < como en el caso de [5, p´g. 21]. Se recomienda resolver el ejercicio 1.2.2, para ambas definiciones y a reflexionar sobre sus respuestas.
2

´ 1.2. CONCEPTOS BASICOS

5

resultados que entregue un programa sean confiables. Para hablar de dicha confiabilidad3 distinguiremos entre los t´rminos precisi´n y exactitud. e o Aunque en las aplicaciones es necesario conocer la precisi´n de los datos o de entrada (a un algoritmo), que pueden depender directamente de los instrumentos utilizados4 , nos concentraremos aqu´ en la precisi´n de la repreı o sentaci´n de un n´mero en la memoria de la computadora, lo cual est´ relao u a cionado con la siguiente representaci´n de n´meros reales. o u Definici´n 1.2.3 (n´meros de punto flotante). De-cimos que un n´mero x o u u est´ representado como n´mero de punto flotante si se expresa como a u x = ±d0 .d1 d2 · · · dp−1 × β e (1.2)

donde p es el n´mero de d´ u ıgitos en la mantisa o significando, β es la base y e es el exponente entero. Adem´s, cuando d0 = 0 decimos que est´ en su forma a a normalizada . Ejemplo 1.2.4. El n´mero 314.159 en representaci´n de punto flotante es u o 3 0.314159 × 10 y como punto flotante normalizado 3.14159 × 102 . Ya que las computadoras digitales trabajan (en su mayor´ con el sisıa) tema binario, el est´ndar IEEE 754 especifica tanto la representaci´n como a o 5 el manejo de los n´meros binarios de punto flotante. u Definici´n 1.2.4 (n´meros binarios de punto flotante normalizado). Deo u cimos que un n´mero x est´ representado como n´mero binario de punto u a u flotante normalizado si se expresa como x = (−1)s (1 + f )2e donde s es el signo, f es la fracci´n en binario y e el exponente. o La precisi´n de un n´mero est´ directamente relacionada con el n´mero o u a u de d´ ıgitos en su representaci´n de punto flotante. o
La revista Reliable Computing se especializa en m´todos basados en intervalos (entre e otros) que garantizan y acotan todos sus resultados. 4 El Peque˜o Larousse Ilustrado, 2002 define Precisi´n (de un instrumento de medida) n o como la cualidad global de un instrumento que le permite dar indicaciones que coinciden, con mucha aproximaci´n, con el valor verdadero de la magnitud que debe medirse. o 5 Para informaci´n adicional sobre este est´ndar puede consultar el excelente art´ o a ıculo de Goldberg en [10].
3

(1.3)

6

CAP´ ITULO 1. TEOR´ DE ERRORES IA

Definici´n 1.2.5 (precisi´n en formatos IEEE 754). En base a la ecuaci´n o o o (1.3) el est´ndar IEEE 754 define los siguientes cuatro tipos de formatos6 a (ver tabla (1.1))que determinan la precisi´n de un n´mero de punto flotante o u (adaptaci´n de [10, pp. 173-174]): o Tabla 1.1: Precisi´n en Formatos IEEE 754 o par´metro a emax emin e bits f bits total bits Formatos sencillo s. extendido doble d. extendido +127 ≥ 1023 +1023 > 16383 −126 ≤ −1022 −1022 ≤ −16382 8 ≤ 11 11 ≥ 15 23 31 52 ≥ 63 32 ≥ 43 64 ≥ 79

Ya que 2−23 ≈ 1.19 · 10−7 y 2−52 ≈ 2.22 · 10−16 , el formato sencillo tiene una fracci´n con precisi´n de 7 decimales y el formato doble, una precisi´n o o o de 15 decimales. Las operaciones con n´meros reales tanto en MATLAB7 como en DrScheme8 u se realizan en doble precisi´n. o Ejemplo 1.2.5. Utilizando la funci´n en Scheme9 , real->ieee-doble, en la o figura (1.1), podemos obtener la representaci´n en formato de doble precisi´n o o mediante para los n´meros 0.3 y 64 u
Los formatos extendidos en la tabla 1.1, ofrecen flexibilidad de dise˜o para los distintos n fabricantes de computadoras. Por ejemplo, para el formato doble extendido, las computadoras SPARC y PowerPC ofrecen los siguientes campos (en bits): e = 15, f = 112. En cambio INTEL ofrece: e = 15 y f = 63 con un bit extra para manejo expl´ ıcito del d´ ıgito m´s significativo de la fracci´n. a o 7 MATLAB (MATrix LABoratory) es uno de los sistemas de software num´rico m´s exe a itosos en la actualidad. Para una introducci´n sobresaliente, orientada a m´todos num´rio e e cos, se le invita a consultar el libro de Cleve Moler [18] 8 Una de las implementaciones m´s completas del lenguaje de programaci´n Scheme, el a o cual emplearemos a lo largo del texto para ilustrar e implementar los m´todos num´ricos. e e Para una excelente introducci´n se recomienda el tutorial de Dorai Sitaram [25] o 9 Esta funci´n as´ como el resto de las utilizadas en este libro, podr´n ser obtenidas o ı a (eventualmente) visitando http://cemati.com/math/areas/scheme/, o bien el sitio de distribuci´n PLaneT Package Repository en [21]. Se recomienda instalar PLT-Scheme versi´n o o 4.1 (o superior) disponible en http://www.plt-scheme.org, y por el momento, sencillamente copiar el archivo slab.ss (que complementa este libro) al folder PLT de su instalaci´n. o
6

Note adem´s que el exponente e en el formato e a IEEE 754 obedece (en el caso de doble precisi´n) a la ecuaci´n e = e − 1023.2.1. CONCEPTOS BASICOS 7 > ( r e a l −>i e e e −d o b l e 0 .3)10 = (0.5. Ejercicio 1. funciones piso x y techo ıa u x pero en el edificio de los n´meros flotantes. Como se observa en el ejemplo 1.2.2.3. Ya que la recta de los flotantes no “cubre” la recta real. u 10 .1920928955078125e − 007 Problema 1. Determine las representaciones en binario de punto flotante normalizado (en formato de doble precisi´n) de los siguientes n´meros en base o u 10 a) −0.4. utilizando la ecuacion 1.´ 1.2.09 · 1077 b) 64.5 hay n´meros reales (de hecho una u cantidad infinita) que no podr´n ser representados en forma exacta en un a sistema num´rico de base fija.2. calcular la distancia que existe entre los siguientes n´meros reales y sus dos u 10 n´meros flotantes vecinos bajo el formato de doble precisi´n del est´ndar u o a IEEE 754: a) 2008. o o Ejercicio 1. 3 ) (”0” ”01111111101” ”0011001100110011001100110011001100110011001100110011”) > ( r e a l −>i e e e −d o b l e 6 4 ) (”0” ”10000000101” ”0000000000000000000000000000000000000000000000000000”) > Ya que (0.3.1 b) 1024 c) 1. Confirme los resultados del ejemplo 1.3 c) −444.7 · 10−27 Esto ser´ equivalente a encontrar para un n´mero real x.10011)2 nunca podr´ representarse de forma exacta a en un sistema binario finito.2.

salida : ( s e ’ f ) . : f contiene la fraccion ( define ( r e a l −>i e e e −d o b l e r ) ( i e e e 8 −>i e e e −d o b l e (map f i l l −byte (map (lambda( n ) ( number−>s t r i n g n 2 ) ) ( bytes −> l i s t ( r e a l −>f l o a t i n g −p o i n t −b y t e s r 8 #t ) ) ) ) ) ) 2 4 6 8 10 12 1.2. r e a l a i e e e de 64− b i t . donde k es un entero en el rango permitido. entrada : r . calculado o expresado n con todo rigor: hora exacta. o o n an´lisis e implementaci´n de los m´todos num´ricos.1: Funci´n real->ieee-doble o o . la exactitud de un n´mero hace referencia a una cantidad a u objetivo. o Peque˜o Larousse Ilustrado: exactitud : Cualidad de ser medido. ej.2. bajo el formato de doble precisi´n del u o est´ndar IEEE 754).2.3.2. 2 ]. con la precisi´n y exactitud adeo cuadas para cada aplicaci´n es uno de los prop´sitos principales del dise˜o.2. En contraste con el concepto de precisi´n que se asocia a la representaci´n o o de un n´mero en particular (p. : e ’ t a l que e=e ’ −1023 .1 y descubra una expresi´n o modelo matem´tico para determinar la distancia entre n´meros o a u k k+1 flotantes consecutivos en intervalos de la forma [2 . r e p r e s e n t a e l exponente . TEOR´ DE ERRORES IA Problema 1. 11 . o a C´digo Scheme 1. donde : s c o n t i e n e e l b i t d e l s i g n o . a o e e Conceptos como convergencia y acotaci´n del error mediante el an´lisis o a asint´tico. son claves y se considerar´n en diferentes partes de nuestro texto. en el a sentido de la definici´n 1. numero r e a l −> l i s t a de s t r i n g s . Generalice el resultado del problema 1. y busca el m´ximo acercamiento posible a dicho objetivo11 .2. o Obtener resultados rigurosos y confiables. Incertidumbre y sesgo En el an´lisis de datos num´ricos generalmente podemos tener errores que a e tienen que ver con la falta ya sea de precisi´n o de exactitud.8 CAP´ ITULO 1.

2.2.3. y sesgo o inexactitud. Existe actualmente una nueva generaci´n de m´todos num´ricos basados o e e en intervalos.1. as´ como sus corresponı dientes en valores absolutos. 54-55] para ejemplos.7. TIPOS DE ERRORES 9 Definici´n 1. cajas e hipercajas (para espacios mayores que 3D). mediante rangos o intervalos. como sigue: . Ejemplo 1. 105].6.1. lo cual indica o a que el 99. Tipos de errores En esta secci´n veremos los tipos esenciales de errores presentes (en mayor o o menor grado) en la aplicaci´n de los m´todos num´ricos. Supongamos que un profesor debe iniciar siempre sus clases a las 7 : 00 am. Para mayo e or informaci´n puede consultar el texto de Aberth [2] y el curso de Warwick o Tucker en [27].3. Por otro ıa lado.3. pp. El manejo de la incertidumbre o imprecisi´n puede realizarse mediante o distribuciones de probabilidad. Si existe incertidumbre.1 (Error absoluto y relativo). 1.6 (incertidumbre y sesgo). a la falta sistem´tica de o o a exactitud.2. ya sea por debajo o bien por arriba de la cantidad exacta. a cuyo prop´sito es obtener soluciones num´ricas precisas y exactas. en tanto que el manejo de la inexactitud. podemos considerar: el error humano. podr´ iniciar con una distribuci´n ıa o normal con media de 7 : 05 y desviaci´n est´ndar de 1 minuto. Si especificamos que el valor de una resistencia el´ctrica es e de 100 ± 5 % Ω. observaciones inexactas propios del equipo experimental y errores de modelado. Ver el texto de Friedman y Kolman [8. estamos indicando que su valor real debe estar en el intervalo [95. entonces definimos al error er(xc ) y al error relativo rel(xc ). entonces empezar´ sistem´ticamente (por ıa a ejemplo) a las 7 : 07. Error absoluto y relativo Definici´n 1. Ejemplo 1. 7 : 08]. 1. si existe (solamente) sesgo. rect´ngulos. Adem´s de estos o e e a errores.7 % de las veces iniciar´ en el intervalo [7 : 02. Llamamos incertidumbre o impreo cisi´n a la falta de precisi´n.3. Sea xv un valor num´rico o e verdadero y sea xc el valor calculado que aproxima el verdadero.

4) (1. Calcule los cuatro errores de la definici´n (1. Consideraremos que el valor verdadero de √ 11 est´ redondeado12 a siete decimales.1. Problema 1. es decir xv = 3.0019975 Los errores relativos tambi´n pueden ser expresados en %.31. TEOR´ DE ERRORES IA er(xc ) = xv − xc era (xc ) = |xv − xc | xv − xc xv xv − xc xv (1. e rel(3.1. Extienda la definici´n (1.20 %.31) ≈ 0.31) = 3.0019975| = 0. que en las ecuaciones (1.3166248 − 3.1) para el caso de o √ aproximar el valor de 11 con 3.1) especificando c´mo manejar o o el caso xv = 0. entonces: a er(3.31) = |0.6) y (1. Calculemos los errores en la definici´n (1.31) = 3.1.3. Ejercicio 1.0066248| = 0.0066248 era (3.31) = |0. a favor de utilizar redondeo a siete decimales. Para iniciar sus c´lculos.3.0019975 rela (3.10 CAP´ ITULO 1.1) para el cao so de aproximar el valor verdadero de π/2 con 11/7.3166248 − 3. En nuestro caso. Ejemplo 1.3.3.7) Asumiendo claro.5) rel(xc ) = (1.3166248. 12 La operaci´n de redondeo aqu´ es distinta a la que veremos en la secci´n 1.3.3.6) rela (xc ) = (1.2 o ı o .7) se cumple xv = 0.3.3166248 = 0.31 rel(3.0066248 3.31 = 0.

9) Para calcular erf lops (x. y) es el que resulta despu´s de e realizar una serie de operaciones aritm´ticas de punto flotante (o flops13 ). TIPOS DE ERRORES 11 1.2 (Error por redondeo). Ejemplo 1.3. el error por redondeo que interesa u en c´lculo num´rico es el que ocurre en la computadora o calculadora debido a e a las limitaciones propias de la representaci´n del n´mero (digamos en el o u sistema de punto flotante de precisi´n sencilla o de doble precisi´n en el o o est´ndar IEEE 754) a Definici´n 1. Dado un n´mero real x y un sistema o u de representaci´n de punto flotante que “almacena” x como f l(x).2 (Moler [17]). Algunos sistemas (como MATLAB) tienen e la capacidad de contar las flops realizadas durante una serie de c´lculos.1. 9. Calculemos los resultados de la siguiente secuencia: a = 4/3 b=a−1 c=b+b+b e=1−c Una implementaci´n en Scheme resulta en el c´digo y su ejecuci´n indicado o o o en la figura 1. ej. Estas o operaciones aritm´ticas podemos definirlas como: e x⊕y x y x⊗y x y = f l(f l(x) + f l(y)) = f l(f l(x) − f l(y)) = f l(f l(x) × f l(y)) = f l(f l(x) / f l(y)) (1.9 a 10).3. y) es necesario realizar en secuencia cada una de las flops y en cada etapa (como lo indican las ecuaciones en (1.3. a 13 .2.1. flops: (del ingl´s) floating point operations.3. Error por redondeo A diferencia del error “externo” que provocamos cuando redondeamos a cierto n´mero de decimales (p.8) El error por redondeo acumulado erf lops (x. e donde cada operaci´n contribuye su ”cuota” de error por redondeo.9)) calcular el error por redondeo resultante. el error o por redondeo es erf l (x) = x − f l(x) (1.

3. Para medir el error por redondeo utilizamos ya sea el error relativo o bien las ulps15 . simplemente quitando el punto u 14 obtenemos el resultado indicado en la figura 1. 3)) (define b (. se genera un error de overflow (o sobreflujo.a 1)) (define c (+ b b b)) (define e (. indican que no hay resultado en pantalla. s´lo se actualiza o la tabla de asociaciones entre variables y valores. ´ o 14 . 3)) para o indicar (con el punto) que 4 es un n´mero real.2.220446049250313e-016} 2. las operaciones aritm´ticas con e enteros y racionales son exactas. En general (como lo indica Goldberg en [10]) si el n´mero de punto u Los resultados entre llaves.9999999999999998} {e=2. TEOR´ DE ERRORES IA Figura 1. donde se ha eliminado el error. u Ejercicio 1. Hay dos errores de redondeo especiales: error de underflow (o bajoflujo. unidades de la ultima posici´n. debido a que en el lenguaje Scheme. o a Por otra parte.12 CAP´ ITULO 1.) cuando x(= 0) es m´s peque˜o que el menor (en magnitud ) de los n´meros a n u de punto flotante disponibles y el sistema lo representa como cero (o bien genera una excepci´n durante el c´lculo). ej.3333333333333333} {b= 0.) cuando x excede el m´ximo (en magnitud) de los n´meros representables como punto a u flotante y el sistema lo representa como +inf o -inf seg´n sea el caso.1: Ejemplo de error por redondeo C´digo o (define a (/ 4.33333333333333326} {c= 0. 15 ulps: units of the last place.220446049250313e-016 Note que la primera linea del c´digo anterior utiliza (define a (/ 4.2. Explore y descubra cu´les son los n´meros que generan a u underflow o bien overflow bajo diferentes sistemas (p.1 c)) e =⇒ Resultado {a=1. en MATLAB y PLT Scheme).

3.d1 · · · dp−1 − (x/β e )| β p−1 (1.9) y el error de truncamiento que interesa fundamentalmente en el an´lisis num´rico. ge´metra y fil´sofo ingl´s. al utilizar n´meros o u racionales C´digo o (define a (/ 4 3)) (define b (.99 a 9.0123456 con 1. TIPOS DE ERRORES 13 Figura 1.d1 · · · dp−1 ×β e se utiliza para representar x. e 1. Error por truncamiento De forma similar al caso del error por redondeo. entonces se tendr´ un a error en ulps de: erf l (x) = |d0 .2: Ejemplo de eliminaci´n del error por redondeo. ej.1.a 1)) (define c (+ b b b)) (define e (. Utilizando la ecuaci´n (1.3.3. Proyecto 1.10) calcule el error por redondeo o en ulps para el caso de aproximar 0.3. Public´ libros de perso o e o pectiva y diferencias finitas. a en secuencias de operaciones aritm´ticas. 16 .3. Este ultimo tiene que ver con la a e ´ famosa serie de Taylor16 y la propiedad de que toda funci´n anal´ o ıtica puede ser aproximada mediante polinomios. Analista.1 c)) e =⇒ Resultado {a = 1 1 } 3 {b = 1 } 3 {c = 1} {e = 0} 0 flotante d0 .10) Ejercicio 1. hay que distinguir entre el error “externo” que provocamos cuando truncamos un n´mero a cierta u cantidad de decimales (p. Dise˜e e implemente un programa en Scheme (o en el lenguaje n de su preferencia) que ofrezca la funcionalidad de definir un sistema de punto flotante parametrizado.1.23 × 10−2 . y permita realizar experimentos y c´lculo de errores. Brook Taylor (1685-1731). 9.

443-463]. b) Entonces. (Adaptada de Banach [3] pp. n f (x) = k=0 (n+1) f (k) (x0 ) (x − x0 )k + Rn (x) k! (1. encontraremos que w deber´ ser igual o a f (n+1) (ξ) a (n+1)! (que corresponde al factor correspondiente en Rn (x)) para un valor de ξ entre x0 y x. e 18 La notaci´n b´sica para orden de crecimiento es (usando nuestra “variable” h) O(g(h)) o a (pron. Si escribimos o f (h) = O(g(h)) (para toda h) esto significa que existe una constante C tal que se cumple |f (h)| ≤ C|g(h)| (para toda h). b] y que satisface 1. f (x) ∈ C n [a.3. b] 2. pp. la ecuaci´n (1.1 (Teorema de Taylor).14 CAP´ ITULO 1. denotado por Pn (x). Cuando fijamos x0 .11) (c donde Rn (x) = f (n+1)!x ) (x − x0 )n+1 (para cx entre x0 y x inclusive) se denomina residuo y a la sumatoria llamamos polinomio de Taylor17 de orden n.11) se denomina o expansi´n de Taylor de orden n de f (x) alrededor de x0 . 114-116) Consideremos la ecuaci´n: o o x − x0 (x − x0 )2 f (x0 ) + f (x0 ) + · · · 1! 2! (x − x0 )n (n) + f (x0 ) + w(x − x0 )n+1 n! Si la ecuaci´n anterior ha de cumplirse. Definamos ϕ(t) como sigue: f (x) = f (x0 ) + ϕ(t) = f (x) − f (t) − − 17 (x − t)2 x−t f (t) − f (t) − · · · 1! 2! (x − t)n (n) f (t) − w(x − t)n+1 n! Cuando x0 = 0 el nombre de la serie cambia a serie de MacLaurin. Adem´s si hacemos o a 18 h = x − x0 podemos expresar el orden de crecimiento del residuo como Rn (x) = O(hn+1 ) 3 Demostraci´n. para cualesquier x0 . f n+1 (x) existe para x ∈ (a. Knuth y Patashnik [11. Para un excelente tratamiento de este tema y del an´lisis a asint´tico se recomienda el libro de Graham. x en [a. b]. en honor a Colin MacLaurin (1698-1746) matem´tico y f´ a ısico escoc´s. Sea f (x) una funci´n en los reales o definida en el intervalo [a. o . “O grande” de g(h)) y nos proporciona una estimaci´n del error. TEOR´ DE ERRORES IA Teorema 1.

3. por tanto: w(n + 1)(x − t)n = (x − t)n (n+1) f (t) n! de donde obtenemos el resultado deseado: w= f (n+1) (ξ) . (n+1)! con ξ entre x y x0 . especialista en an´lisis. TIPOS DE ERRORES 15 Observamos que se cumple ϕ(x0 ) = ϕ(x) = 0. ´lgebra y gea e a a ometr´ El teorema de Rolle nos dice que si una curva continua cruza el eje x en dos ıa.1. Michel Rolle (1652-1719). sabemos que existe una ξ entre x y x0 tal que ϕ (ξ) = 0. De esta a ˆ n (x)| nos proporciona una cota superior efectiva para la magnitud forma. 19 . entonces tiene al menos una tangente paralela al eje x. puntos y tiene una tangente en todos sus puntos intermedios. Matem´tico franc´s. Nota: La f´rmula para el residuo en el teorema anterior garantiza que o ˆ |Rn (x)| ≤ |Rn (x)|. Si ahora derivamos ϕ(t) con respecto a t obtenemos: x−t f (t) − f (t) 1! x−t (x − t)2 (3) f (t) − f (t) − · · · − 2! 1! (x − t)n (n+1) (x − t)(n−1) (n) − f (t) − f (t) n! (n − 1)! + w(n + 1)(x − t)n ϕ (t) = −f (t) − Simplificando la ecuaci´n anterior (cancelando t´rminos iguales) obtenemos: o e ϕ (t) = − (x − t)n (n+1) f (t) + w(n + 1)(x − t)n n! Aplicando ahora el teorema de Rolle19 . donde: ˆ Rn (x) = Mx (x − x0 )n+1 (n + 1)! (1.12) donde Mx = max{f (n+1) (cx )} tal que cx est´ entre x0 y x inclusive. |R del residuo.

cuando no podemos calcular un valor verdadero yv de forma expl´ ıcita y tenemos que reemplazarlo por un c´lculo aproximado yc . Decimos que existe un error por o truncamiento. TEOR´ DE ERRORES IA Ejemplo 1. utilizando siete decimales obtenemos: yv = 2. la aproximaci´n yc se obtiene o mediante la suma de los primeros t´rminos de una serie infinita convergente.3. e Ejemplo 1. tenemos yv = e y yc = P3 (1). alrededor de x0 = 0. cuando: a) Aproximamos e con P3 (1) b) Aproximamos e−1 con P3 (−1) Para el caso (a). y lo a denotamos por ertr (yv ) = yv −yc .3.4.3.3. tenemos: o Mx = 1 ex x≤0 x>0 Ejercicio 1.7182818.4. debido a que la funci´n ex es creciente. Definici´n 1. as´ como el residuo Re (x). Normalmente.16 CAP´ ITULO 1. calculemos los errores de truncamiento. Utilizando el resultado del ejemplo (1. para la funci´n ı o f (x) = cos(x/2).3. estimemos R e0 0 e0 1 e0 2 e0 3 x + x + x + x 0! 1! 2! 3! 1 2 1 3 =1+x+ x + x 2 6 ecx 4 R3 (x) = x 4! Mx 4 ˆ R3 (x) = x 24 P3 (x) = donde. Calculemos P3 (x) alrededor de x0 = 0 para la funci´n ex . el polinomio de aproximaci´n de Taylor de o orden 3.3).3. y o ˆ 3 (x). por lo cual. y 1 1 yc = 1 + 1 + (1)2 + (1)3 2 6 = 2 + 1/2 + 1/6 = 8/3 . Calcule P3 (x).3 (Error por truncamiento).

5. Definici´n 1.0516151.7182818 − 2. lo que aumenta el error por redondeo.6666667 = 0.4.4 (Error num´rico total).4. estan por debajo de los R3 (x) correspondientes encontrados en el ejemplo (1. pp.) entonces ertr (0. utilizando siete decimales obtenemos: yv = 0. Error num´rico total e Por lo visto hasta este punto.7182818) = 2. Software de c´mputo num´rico o e El software num´rico actual20 ofrece un panorama muy prometedor. 1. Se trata entonces de encontrar un punto de equilibrio a partir del cual. El error num´rico total es la suma o e e de los errores por redondeo y los errores por truncamiento.3. y 1 1 yc = 1 + (−1) + (−1)2 + (−1)3 2 6 = 0 + 1/2 − 1/6 = 1/3 Ya que 1/3 = 0.4).3333333 (redondeando a siete decimales.´ ´ 1.0345461. Ejercicio 1. pero al hacerlo aumenta el n´mero de operaciones de punto u flotante.3. 97-99] y denominan princin pio de incertidumbre num´rica. ya e que adem´s de la calidad en los programas y la b´squeda de conectividad ena u Que incluye con frecuencia funcionalidad propia de los CAS (Computer Algebra Systems).3333333 = 0. se tienen rendimientos decrecientes.3). Para el caso (b) tenemos yv = e−1 y yc = P3 (−1). (x − x0 ) en la expansi´n de Taylor) tambi´n aumenta el error por o e truncamiento. los m´todos num´ricos requieren un cuidae e doso reconocimiento y estudio de los errores involucrados.3678794) = 0. ya que conforme aumenta el incremento h e (p. por lo cual.3. SOFTWARE DE COMPUTO NUMERICO 17 Ya que 8/3 = 2. y para reducirlo es necesario aumentar el n´mero de t´rminos u e en la sumatoria. ej.3678794 − 0. 1.) entonces ertr (2. 20 .6666667 (redondeando a siete decimales. Los errores por redondeo y por truncamiento guardan una relaci´n muy o interesante que se˜ala Chapra y Canale [6.4.3678794.3.3. Verifique que los errores de truncamiento encontrados en el ˆ ejemplo (1.

18 CAP´ ITULO 1.1. tambi´n se busca estandarizar algunos aspectos de e la sem´ntica (ver p. ej.4. o a e o Basado en Python RLab: laboratorio para computaci´n num´rica o e Sage: Sistema integrador de gran potencia y versatilidad que incluye otros paquetes matem´ticos Open Source de alta calidad.sagemath.org Scilab: uno de los paquetes de computaci´n num´rica y cient´ o e ıfica m´s a importantes y exitosos (desarrollado en el instituto franc´s INRIA) e Singular: un sistema de ´lgebra computacional para computaci´n con a o polinomios . Software de acceso libre Entre los sistemas de acceso libre orientados al software num´rico se podee mos incluir: Axiom: sistema de ´lgebra computacional (con MathAction) a Calc3D: software para c´lculo y graficaci´n orientado a geometr´ y a o ıa estad´ ıstica EULER: poderoso laboratorio de computaci´n num´rica (con Yacas) o e FreeMat: Colecci´n de funciones b´sicas para matem´ticas o a a GnuPlot: Excelente graficador de dominio p´blico (no GNU) u Jacal: Sistema de ´lgebra computacional basado en Scheme a Mathscribe: herramientas para mentes cient´ ıficas NonEuclid: software interactivo en Java para geometr´ hiperb´lica ıa o Octave: excelente sistema afin a MATLAB PyLab: una colecci´n de funciones para c´lculo num´rico y visualizaci´n. TEOR´ DE ERRORES IA tre los diferentes sistemas. 1. la iniciativa del Numerical Mathematics Consortium a [20]). a http://www.

con grandes capacidades de visualizaci´n o o MATLAB: Abreviaci´n de “MATrix LABoratory”. SOFTWARE DE COMPUTO NUMERICO Surf: software para visualizaci´n de geometr´ algebraica real o ıa 19 Winplot: un programa sencillo pero muy vers´til para graficar funciones a matem´ticas a wxMaxima: un paquete cl´sico para matem´ticas num´ricas y coma a e putaci´n simb´lica.4. este es el sistema o est´ndar en aplicaciones de ingenier´ a ıa Scientific Workplace: Excelente editor cient´ ıfico de gran flexibilidad y que integra MAPLE como su n´cleo de computaci´n simb´lica u o o 1. ı o Entre las m´s recomendadas podemos mencionar: a IMSL JavaNumerics . o e o LabView: Plataforma de c´mputo num´rico y simulaci´n con ´nfasis en o e o e sistemas electr´nicos empotrados. estas bibliotecas son esenciales para el desaro rollo de aplicaciones en la industria.4. as´ como en laboratorios de investigaci´n.´ ´ 1.3.2. de gran importancia en la industria o MAPLE: Sistema preferido en ambientes acad´micos y cuyo n´cleo de e u procesamiento simb´lico se incorpora en otros sistemas comerciales o MathCAD: Editor de documentos que integra valiosas capacidades de c´mputo num´rico y de visualizaci´n o e o Mathematica: Sofisticado y muy exitoso sistema de c´mputo num´rico o e y simb´lico. Sistema basado en Lisp o o 1. Software comercial Entre los sistemas m´s relevantes tenemos: a Derive: Sistema shareware para c´mputo num´rico y simb´lico.4. Bibliotecas de funciones Orientadas principalmente a la eficiencia en la soluci´n de sistemas lino eales de dimensi´n muy grande.

20 LAPACK/BLAS EISPACK LINPACK NAG

CAP´ ITULO 1. TEOR´ DE ERRORES IA

En las pr´ximas revisiones se presentar´n referencias y una breve descripo a ci´n de estos importantes sistemas de apoyo a la computaci´n num´rica. o o e

1.5.

M´todos iterativos e

A diferencia de los m´todos directos donde la soluci´n a una ecuaci´n e o o o sistema de ecuaciones se logra siempre “al primer intento” siguiendo paso a paso un procedimiento determinado21 , los m´todos iterativos obtienen e la soluci´n como resultado de una serie de aproximaciones generadas sucesio vamente a partir de una “aproximaci´n inicial a la soluci´n”. o o Definici´n 1.5.1 (M´todo iterativo). Llamamos M´todo iterativo (unio e e variable) a un procedimiento que acepta: a) f (x), la funci´n a iterar22 , tal que ran(f ) ⊆ dom(f ) y adem´s cumple o a cierto criterio de convergencia23 b) x0 ∈ dom(f ), la aproximaci´n inicial a la soluci´n o o c) , la tolerancia del error y encuentra, mediante un n´mero finito de iteraciones, una soluci´n aproxiu o ∗ mada x (con error ≤ ) , para la ecuaci´n x = f (x). Llamamos punto fijo o al valor x que cumple x = f (x). Normalmente, la implementaci´n de un m´todo iterativo incluye como o e par´metro adicional, el n´mero m´ximo de iteraciones permitidas, para el a u a
Como ejemplo podemos mencionar el procedimiento para calcular la derivada de una funci´n que veremos en la secci´n 4.1 o o 22 Iterar una funci´n significa aqu´ aplicarla repetidamente, p. ej. x3 := f (f (f (x0 ))) o ı, asigna a x3 el valor de la tercera iteraci´n de f aplicada a x0 o 23 P. ej. la condici´n de Lipschitz, que veremos en la secci´n 2.3.1 o o
21

´ 1.5. METODOS ITERATIVOS

21

caso en que se utilice una funci´n que no cumpla con el criterio de convero gencia. En la figura 1.2 presentamos el c´digo Scheme para una m´quina iterao a tiva b´sica, que utilizando el enfoque de programaci´n orientada a objetos, a o implementa el m´todo iterativo univariable de la definici´n 1.5.1 anterior. e o
1 Ejemplo 1.5.1. Resolvamos la ecuaci´n x = cos(x + 4 ) con ayuda de la o funci´n crea-mit. o

> ( define mit ( c r e a −mit ’ g (lambda( x ) (+ ( c o s x ) 1 / 4 ) ) 0.01 15)) > ( mit ’ i t e r a 0 . 7 ) (0 : 0 . 7 ) (1 : 1.0148421872844886) (2 : 0.7777539838103506) (3 : 0.9624913205131414) (4 : 0.8214773395993339) (5 : 0.9311403125086086) (6 : 0.8469194965541674) (7 : 0.9122943326484682) (8 : 0.8619327515053936) (9 : 0.900971529122722) (1 0 : 0 . 8 7 0 8 4 8 6 5 0 1 2 5 9 5 1 8 ) (1 1 : 0 . 8 9 4 1 7 7 6 6 7 2 6 4 8 9 1 7 ) (1 2 : 0 . 8 7 6 1 6 0 1 9 6 2 8 8 8 2 5 2 ) (1 3 : 0 . 8 9 0 1 0 5 9 2 5 8 3 1 6 9 4 3 ) (0.7 converge a 0.8793297110716177 en 14 iteraciones ) >

22

CAP´ ITULO 1. TEOR´ DE ERRORES IA

2

4

6

8

10

12

14

16

18

20

22

24

26

28

30

32

34

36

C´digo Scheme 1.2: Funci´n crea-mit para crear una m´quina iterativa b´sica o o a a ; ; f u n c i ´ n c r e a −mit ( r e v . 0 2 , 2008 −05 −27; en mit . scm ) o ; ; p r o p ´ s i t o : : c r e a r una M´ quina I T e r a t i v a (MIT) b ´ s i c a o a a ; ; atributos : : idf : string ; i d de l a f u n c i ´ n o ;; f : procedimiento ; funci´n a i t e r a r o ;; epsi : real ; tolerancia ;; n : e n t e r o p o s i t i v o ; m´x de i t e r a c i o n e s a ; ; m´ todos : : ’ show e −> p r e s e n t a l o s a t r i b u t o s ;; ’ i t e r a <r e a l > −> i t e r a empezando con <r e a l > ;; ’ fun <proced> −> r e d e f i n e l a f u n c i ´ n f o ;; ’ i d f <s t r i n g > −> r e d e f i n e nombre f u n c i ´ n o ;; ( define ( c r e a −mit i d f f e p s i n ) ( l e t ( ( i m i t i d f ) ( f m i t f ) ( emit e p s i ) ( nmit n ) ) (lambda( mensaje . param ) ( c a s e mensaje (( itera ) ( d i s p l a y ‘ ( 0 : , ( c a r param ) ) ) ( n e w l i n e ) (do ( ( k 1 (+ k 1 ) ) ( xp ( c a r param ) ( f m i t xp ) ) ( x ( f m i t ( c a r param ) ) ( f m i t x ) ) ) ( ( o r (<= ( abs (− x xp ) ) emit ) (>= k nmit ) ) ( i f (<= k nmit ) ‘ ( , ( c a r param ) c o n v e r g e a , x en ,k iteraciones ) ‘ ( , ( c a r param ) no c o n v e r g e en ,k iteraciones ))) ( d i s p l a y ‘ ( , k : , x , ( f m i t x ) , ( abs (− x xp ) ) ) ) ( newline ) ) ) ( ( fun ) ( s e t ! f m i t ( c a r param ) ) ) ( ( e ps ) ( s e t ! emit ( c a r param ) ) ) ( ( i d ) ( s e t ! i m i t ( c a r param ) ) ) ( ( show ) ( d i s p l a y ‘ ( ”MIT” i d f =, i m i t eps= , emit n=, nmit ) ) ( newline )) ( e l s e ‘ ( no conozco e l mensaje , mensaje ) ) ) ) ) )

´ 1. .5. METODOS ITERATIVOS 23 Nota: en la secci´n 3. veremos m´todos iterativos aplicados a la soluci´n o e o de sistemas de ecuaciones lineales de la forma Ax = b.1.

TEOR´ DE ERRORES IA .24 CAP´ ITULO 1.

digamos f (x) = 0 o o partimos de un intervalo [a. para > 0 como la tolerancia. Los sistemas de ecuaciones o o no lineales ser´n tratados en el siguiente cap´ a ıtulo.2. e e El m´todo de intervalo cl´sico es el m´todo de bisecci´n de Bolzano. 2.2). que e a e o veremos en la secci´n siguiente (2. recientemente se han desarrollado o o m´todos basados en intervalos (en general hiper-cajas) que van “encerrando” e la soluci´n en regiones cada vez m´s peque˜as. 25 . bn ] tal o que |bn − an | < . M´todos basados en intervalos e Cuando para encontrar la soluci´n a una ecuaci´n. logrando con ello lo que aco a n tualmente se conoce como computaci´n confiable (en ingl. o Como se mencion´ en la secci´n 1. reliable computing). y paso a paso reducimos dicho intervalo hasta obtener [an .Cap´ ıtulo 2 M´todos de soluci´n de e o ecuaciones Presentamos aqu´ algunos m´todos num´ricos fundamentales para la soluı e e ci´n de una ecuaci´n no lineal univariable.2.1. b] dentro del cual sabemos que se encuentra la soluci´n. decimos que hemos utilizado un m´todo de intervalo o m´todo cerrado. o Para mayores detalles sobre estos nuevos m´todos se recomienda consultar e [27].

Entrega: c: la soluci´n aproximada a la ecuaci´n f (x) = 0 con un error ≤ . matem´tico checoescovaco especializado en an´lisis. b. o o ´ Biseccion(f. bn ] que cumple f (an )f (bn ) < 0 pero adem´s |b − a| ≤ .1. b] que cumple la e condici´n f (a)f (b) < 0 y en cada iteraci´n bisectarlo para obtener un nuevo o o intervalo [a1 . : tolerancia del error. e o Bernhard Bolzano (1781-1848). b] y f (a) y f (b) tienen signos opuestos. M´todo de bisecci´n e o El m´todo de bisecci´n se basa en el siguiente teorema de Bolzano1 e o Teorema 2. a a cuyo trabajo ayud´ a establecer la importancia de las demostraciones rigurosas [14]. b1 ] que tambi´n cumple con f (a1 )f (b1 ) < 0 . o 1 .1 M´todo de bisecci´n e o Dado: f : funci´n asociada a la ecuaci´n f (x) = 0 a resolver.2. Presentamos a continuaci´n el algoritmo resultante: o Algoritmo 2. es partir de un intervalo [a. a.2. METODOS DE SOLUCION DE ECUACIONES 2.1 (Teorema de Bolzano). a y b: valores o o iniciales que cumplen f (a)f (b) < 0. hasta obtener un e intervalo [an . La estrategia de este m´todo.26 ´ ´ CAP´ ITULO 2.2. Una funci´n f : R → R es cero de o al menos un valor de x entre a y b si f es continua en el intervalo cerrado [a. para a un correspondiente a la tolerancia del error. La siguiente interacci´n con la funci´n biseccion (ver c´dio o o go 2. ) 2: repeat s ← (a + b)/2 4: if f (s) = 0 then caso excepcional return s 6: else if f (a)f (s) < 0 then b←s 8: else a←s 10: end if until |b − a| ≤ 12: return s end Ejemplo 2. utilizando a = 0 y b = 2.1) nos permite resolver cos(x) = 0 con una tolerancia de 10−3 mediante el m´todo de bisecci´n.

7 5 ) (4 1.625) (6 1. b ] ( cond [ ( z e r o ? ( f s ) ) s ] . 0 0 1 6 ) (1.625) (5 1. . f ( s )=0? => e n t r e g a s [( < ( abs (− b a ) ) ep ) .570312 1.5 1 . .5625 1.5 1.1: Funci´n biseccion asociada al algoritmo 2. 0 ) (2 1. la funci´n entrega una lista que contiene respectivao mente. 5 7 0 3 1 2 1 . s ] [ e l s e ( c i c l o s b ) ] ) ) ) ) . METODO DE BISECCION 27 2 4 6 8 10 C´digo Scheme 2. 0 ) (1 1. 5 7 2 2 6 6 ) (1 1 1 .57080078125 A continuaci´n presentamos las interacciones resultantes al resolver este o problema mediante la funci´n biseccion-data (presentada en el c´digo 2.578125) (9 1.57080078125 −4.2) o o > ( b i s e c c i o n −data c o s 0 2 . .5 2 .´ ´ 2.0 2 .1 o o .574219) (1 0 1 .454455103366037 e −006 (0 0 2 . 5 7 1 2 8 9 ) ) Note que en este caso.578125) (8 1.59375) (7 1. entrega s [( < (∗ ( f a ) ( f s ) ) 0 ) . el error f (s) y los datos de las iteraciones en la forma o . busca en [ a . b ] > ( b i s e c c i o n cos 0 2. b i s e c c i o n de [ a . la soluci´n s.570312 1. busca en [ s .5625 1. 5 7 0 3 1 2 1 . .001) 1. asume : f ( a0 ) f ( b0)<0 ( define ( b i s e c c i o n f a0 b0 ep ) ( l e t c i c l o ( ( a a0 ) ( b b0 ) ) ( l e t ( ( s ( / (+ a b ) 2 ) ) ) . implementa e l m´todo de b i s e c c i ´ n e o . cumple t o l e r a n c i a ? s] .2. 0 ) (3 1.5625 1. f ( a ) f ( s )<0? ( ciclo a s )] .

Este an´lisis ser´ especialmente importante para el m´todo de a a e Newton-Raphson que veremos en la secci´n 2.01 6) . o Ejemplo 2. f ( s ) ( r e v e r s e data ) ) ) ] . se recomienda utilizar alguno de los paquetes de software matem´tico vistos en la secci´n 1. busca en [ a . e n t r e g a ( s o l u c i o n e r r o r data ) . asume : f ( a0 ) f ( b0)<0 ( define ( b i s e c c i o n −data f a0 b0 ep d e c s ) ( l e t ( ( f t ( make−f o r m a t e r −round−d e c s d e c s ) ) ( data ’ ( ) ) ) ( l e t c i c l o ( ( a a0 ) ( b b0 ) ( k 0 ) ) ( s e t ! data ( cons ( l i s t k ( f t a ) ( f t b ) ) data ) ) ( l e t ( ( s ( / (+ a b ) 2 ) ) ) ( cond [ ( z e r o ? ( f s ) ) . donde : data = { i a ( i ) b ( i )} . busca en [ s . ´ ´ CAP´ ITULO 2. caso excepcional ( cons s ( cons 0 ( r e v e r s e data ) ) ) ] [( < ( abs (− b a ) ) ep ) . Si la funci´n f (x) de nuestro problema no es muy conocio da.1 o o . METODOS DE SOLUCION DE ECUACIONES 2 4 6 8 10 12 14 16 18 20 C´digo Scheme 2. >( b i s e c c i o n −data (lambda( x)(+ (∗ 3 ( c o s ( / x 2 ) ) ) 2 ) ) 1 6 . e n t r e g a s . as´ como para determinar los valores cercanos a ı dicho cero(s).1. o demasiado laboriosa para bosquejar “a mano”. y data en orden [( < (∗ ( f a ) ( f s ) ) 0 ) .1. s ] [ else ( c i c l o s b . implementa e l m´todo de b i s e c c i ´ n e o . b ] (+ k 1 ) ) ] ) ) ) ) ) Sugerencia 2. Resolvamos ahora la ecuaci´n 3cos( x ) + 2 = 0 con una o 2 −2 tolerancia de 10 . llamando a la funci´n biseccion-data para a = 1 y o b = 6.2: Funci´n biseccion-data asociada al algoritmo 2.2. y a o hacer un an´lisis gr´fico de la funci´n.2. . cumple t o l e r a n c i a ? ( cons s ( cons ( f s ) .4.4. . para determinar el n´mero de ceros a a o u dentro de cierto intervalo. 0.28 (ki ai bi ). f ( a ) f ( s )<0? ( c i c l o a s (+ k 1 ) ) ] . . .

0 ) (2 3.613281) (9 4.2 nos permite visualizar el proceso para este ejemplo. 7 5 ) (3 4.632812) (8 4. 29 Figura 2.59375 4 . 7 5 ) (5 4. 7 5 ) (6 4. METODO DE BISECCION (4.1: Bisecciones para el ejemplo 2.2 .5 4 .5 6 .´ ´ 2.603516)) La figura 2.5986328125 0.2.2.4375 4 . 7 5 ) (4 4.002701681335155026 (0 1 6 .125 4 . 0 ) (1 3.59375 4.59375 4.59375 4.59375 4.671875) (7 4.

en [−4. f (x) = xsenh(x − 2) − 100. M´todo de aproximaciones sucesivas e Este m´todo. Explore algunas otras implementaciones del m´todo de bisece ci´n.x2 ) . donde K es una constante y el valor de g(x1 . x2 ) se 1 pueda hacer arbitrariamente peque˜o para x1 .3.30 ´ ´ CAP´ ITULO 2. 2.1 (Condici´n de Lipschitz). no puede satisfacer n una condici´n de Lipschitz.2.2.1. con = 10−7 Problema 2.2. b] se dice que satisface una condici´n de Lipschitz. si existe una o constante L > 0 tal que |f (x1 ) − f (x2 )| ≤ L |x1 − x2 | para cualquier par de n´meros x1 . ¿Cu´l es el n´mero m´ximo posible de iteraciones del a u a m´todo de bisecci´n. o (2. u )−f (x Observamos que cualquier funci´n f (x) donde la expresi´n |f (x11 −x2 | 2 )| se o o |x pueda simplificar a g(xK. 8]. Una funci´n f (x) definida en el o o o intervalo [a. de manera que se encuentre el ı cero justo en el n´mero m´ximo de iteraciones. x2 ∈ [a.1.1.2.1) .1. dado un intervalo [a. METODOS DE SOLUCION DE ECUACIONES Ejercicio 2.2. 7]. f (x) = 2 cos(x πx − π ) en [1. b].3. con = 0. Condici´n de Lipschitz o Definici´n 2. Encuentre todos los ceros de las siguientes funciones en el intervalo indicado y para la precisi´n indicada. Una vez resuelto el problema 2. b].001 4 b).3. b] y asociado. Se recomienda especialmente revisar ejemplos en MATLAB o si-milares. encuentre una funci´n o f (x) as´ como su intervalo [a. o 2. conocido tambi´n como m´todo de punto fijo o m´todo iterae e e e tivo est´ndar es uno de los m´todos recomendados cuando queremos resolver a e una ecuaci´n de la forma x = f (x) y la funci´n f (x) cumple ciertas condio o ciones como lo veremos en las siguientes dos secciones. b] y un valor para ? e o Problema 2. o a).2. x2 ∈ [a. u a Sugerencia 2.

3.3) para algunos n´meros fijos α.2 (Velocidad de convergencia).´ 2.3. x2 ∈ [a. entonces α es el orden de convergencia para u {xn }. o En base a la definici´n anterior. y convergencia cuadr´tica a respectivamente. de forma que l´ n→∞ xn = s. y K es la constante asint´tica o factor de convergencia. 2. Sea {xn }∞ una sucesi´n o n=1 de aproximaciones que convergen a s.3.2. Iteraci´n y convergencia o El m´todo de aproximaciones sucesivas. el tema central aqu´ es el ıa o ı concepto de convergencia de una sucesi´n de aproximaciones. para cualesquiera x1 . m´todo iterativo y tambi´n e e e conocido como m´todo de punto fijo. e .2) y entonces. o y α = 2 que corresponden a convergencia lineal. Si la ım sucesi´n de errores { n }∞ (donde n = xn − s) satisface o n=1 | n+1 | α = K. destacamos los casos para cuando α = 1.2 describe el m´todo. es uno de los m´todos m´s sencillos e e a e ilustra (a diferencia del m´todo de bisecci´n) el caso cuando no se tiene e o garant´ de obtener la soluci´n. El algoritmo 2. b]. K > 0 n→∞ | n | l´ ım (2. METODO DE APROXIMACIONES SUCESIVAS 31 Si f (x) ∈ C 1 [a. b] (es decir. |f (x1 ) − f (x2 )| = |f (c)(x1 − x2 )| ≤ L |x1 − x2 |. K. Esto se cumple ya que. por el e o teorema del valor medio para derivadas existe una c entre x1 y x2 tal que: f (x1 ) − f (x2 ) x1 − x2 f (c) = (2. Por tal motivo. si f (x) existe y es continua) entonces f (x) satisface tambi´n una condici´n de Lipschitz. o o Definici´n 2.

o a e . m) 2: if f (x0 ) = x0 then caso excepcional return x0 4: else n←0 6: repeat xn+1 ← f (xn ) 8: n←n+1 until |xn − xn−1 | ≤ ´ n > m o 10: if |xn − xn−1 | ≤ then return xn 12: else return “sin convergencia en m iteraciones” 14: end if end if 16: end Presentamos en el listado 2. x0 : valor inicial o o de la soluci´n. . o o o bien el mensaje: “sin convergencia en m iteraciones” si la soluci´n no o converge en las iteraciones y la precisi´n deseada.32 ´ ´ CAP´ ITULO 2. x0 . : tolerancia del error.2 M´todo de punto fijo e Dado: f : funci´n asociada a la ecuaci´n f (x) = x a resolver. m: n´mero m´ximo de iteraciones o u a permitidas. o Punto-Fijo(f. una implementaci´n b´sica del m´todo. Entrega: s: la soluci´n aproximada a la ecuaci´n f (x) = x con un error ≤ . METODOS DE SOLUCION DE ECUACIONES Algoritmo 2.3.

e n t r e g a x0 ( l e t c i c l o ( ( k 1 ) ( x ( f x0 ) ) ) . . x ( k+1)= f [ x ( k ) ] 33 2 4 6 8 10 12 14 Una variante de la funci´n punto-fijo que nos da informaci´n adicional se o o presenta en el listado 2. e oc ( c i c l o (+ k 1 ) ( f x ) ) ) ) ) ) ) . . k> m? ( s t r i n g −append ” s i n c o n v e r g e n c i a en ” ( number−>s t r i n g m) ” iteraciones ”)) .3. mensaje ( else .´ 2. | f ( x)−x|< e ps ( f x)) .3: Funci´n punto-fijo asociada al algoritmo 2. implementa e l m´todo de punto f i j o e ( define ( punto− f i j o f x0 e ps m) ( i f (= (− ( f x0 ) x0 ) 0 ) . entrega f (x) ((> k m) .4.2 o o . x1=f ( x0 ) ( cond ((<= ( abs (− x ( f x ) ) ) ep s ) . f ( x0)=x0 ? x0 . METODO DE APROXIMACIONES SUCESIVAS C´digo Scheme 2.

2 o o . . . e n t r e g a ( ( s o l u c i o n | mensaje ) e r r o r data ) . donde : data = { i f [ x ( i ) ] } ( define ( punto−f i j o −data f x0 eps m d e c s ) ( l e t ( ( f t ( make−f o r m a t e r −round−d e c s d e c s ) ) ( data ( l i s t ( l i s t 0 x0 ) ) ) ) ( i f (= (− ( f x0 ) x0 ) 0 ) ( cons x0 ( cons 0 data ) ) ( l e t c i c l o ( ( k 1 ) ( x ( f x0 ) ) ) ( s e t ! data ( cons ( l i s t k ( f t x ) ) data ) ) ( cond ((<= ( abs (− x ( f x ) ) ) ep s ) ( cons ( f x ) ( cons (− ( f x ) x ) ( r e v e r s e data ) ) ) ) ((>= k m) ( cons ( s t r i n g −append ” s i n c o n v e r g e n c i a en ” ( number−>s t r i n g m) ” i t e r a c i o n e s ”) ( cons (− ( f x ) x ) ( r e v e r s e data ) ) ) ) ( else ( c i c l o (+ k 1 ) ( f x ) ) ) ) ) ) ) ) .34 ´ ´ CAP´ ITULO 2. implementa e l m´todo de punto f i j o e . .4: Funci´n punto-fijo-data asociada al algoritmo 2. METODOS DE SOLUCION DE ECUACIONES 2 4 6 8 10 12 14 16 18 20 22 24 C´digo Scheme 2.

b]. reconocido matem´tico. podemos utilizar un polinomio interpolador de Taylor para aproximar la funci´n f (x) por: o f (s) = f (x0 ) + f (c) f (x0 ) (s − x0 ) + (s − x0 )2 1! 2! Haciendo f (s) = 0 y asumiendo que el t´rmino de segundo grado es muy e peque˜o. M´todos basados en interpolaci´n e o M´todo de Newton-Raphson e Entre los m´todos m´s populares en matem´ticas computacionales tene a a 2 emos al creado por Isaac Newton y Joseph Raphson3 .4. b] tal que f (s) = 0 entonces si escojemos un valor inicial de x cercano a s. matem´tico ingl´s a e 2 . Dada una funci´n f (x) definida en un intervalo [a. se tiene: n f (x0 ) (s − x0 ) 0 ≈ f (x0 ) + 1! Ahora podemos despejar s para obtener: s ≈ x0 − f (x0 ) f (x0 ) Si lo expresamos en t´rminos del m´todo iterativo univariable.1. as´ como e o ı su derivada. por su invenci´n independiente del C´lculo. Una desventaja es que para la aplicaci´n del a o m´todo se requiere tener tanto la funci´n f (x) que quiere resolverse. b] y existe una s ∈ [a. tal que o 2 f (x) ∈ C [a. o a 3 Joseph Raphson (1648-1715).4.3 Sir Isaac Newton (1642-1727). la funci´n e e o a iterar es: f (xn ) (2. su o e obra maestra Philosophae Naturalis Principia Mathematica es considerada como uno de los libros cient´ ıficos m´s importantes de todos los tiempos. e e a como veremos m´s adelante.´ ´ 2.4) xn+1 = xn − f (xn ) El pseudoc´digo para el m´todo de Newton-Raphson est´ndar se presenta o e a en el algoritmo 2. METODOS BASADOS EN INTERPOLACION 35 2. 2.4. f´ a ısico y astr´nomo ingl´s. Destaca junto con (Gottfried a Wilhelm von) Leibniz (1646-1716). El atractivo de ´ste m´todo es su rapidez cuadr´tica de convergencia.

x0 . o bien “f (xn ) = 0 en la o iteraci´n n” o Newton-Raphson(f. o bien el meno o saje “sin soluci´n aceptable en m iteraciones”. : tolerancia del error. f . f : derivada de o o f (x). . METODOS DE SOLUCION DE ECUACIONES Algoritmo 2. x0 : aproximaci´n inicial a la soluci´n.3 M´todo de Newton-Raphson est´ndar e a Dado: f : funci´n asociada a la ecuaci´n f (x) = 0 a resolver. y m: o o n´mero m´ximo de iteraciones u a Entrega: s: la soluci´n aproximada a la ecuaci´n f (x) = 0.36 ´ ´ CAP´ ITULO 2. m) 2: n←0 repeat 4: if f (xn ) = 0 then return “f (xn ) = 0 en la iteraci´n n” o else 6: xn+1 = xn − f (xn )/f (xn ) n←n+1 8: end if until |xn − xn−1 | ≤ ´ n > m o 10: if |xn − xn−1 | ≤ then return xn else return “sin soluci´n aceptable en m iteraciones” o 12: end if end .

x0 e s 0 en l a . ( abs (− x xp ) ) ) ) ( newline ) ( c i c l o x ( d f x ) (+ k 1 ) ) ) ) ) ) ) ) Ejercicio 2. para y = 0 y x2 = x: o y − f (x1 ) = para obtener: x2 = x1 − (x1 − x0 )f (x1 ) f (x1 ) − f (x0 ) f (x1 ) − f (x0 ) (x − x1 ) x1 − x0 (2.( − k 1 ) i t e r a c i o n e s ) ) ( e l s e ( d i s p l a y ‘ ( x ( . ( abs (− x xp ) ) ) ) ( newline ) ‘ ( s o l u c i o n . y calcula el tercer o o punto x2 . x d e l t a= . x en .5) . k)= . k)= . Aplique el m´todo de Newton-Raphson para encontrar una e raiz de la ecuaci´n x3 + x − 2 = 0.1. Compruebe la o soluci´n encontrada. x d e l t a= . M´todo de la secante e Este m´todo se basa en la utilizaci´n de dos puntos x0 y x1 como aproe o xi-maciones iniciales a la soluci´n de la ecuaci´n f (x) = 0.2. x0 ) ) ( n e w l i n e ) ( l e t c i c l o ( ( xp x0 ) ( dfp ( d f x0 ) ) ( k 1 ) ) ( i f (= dfp 0 ) ‘ ( l o s i e n t o : l a d e r i v a d a de f en . o 2. resolviendo la siguiente ecuaci´n de la secante.5: Funci´n para el m´todo de Newton-Raphson o o e ( define ( newton−raphson f d f x0 eps m) ( d i s p l a y ‘ ( x ( .4.0)= . METODOS BASADOS EN INTERPOLACION Presentamos a continuaci´n una implementaci´n en Scheme: o o 37 2 4 6 8 10 12 14 16 18 C´digo Scheme 2. k i t e r a c i o n e s ) ) ((> k m) ‘ ( s i n s o l u c i o n en .4.4. k i t e r a c i o n ) ( l e t ( ( x (− xp ( / ( f xp ) dfp ) ) ) ) ( cond ((<= ( abs (− x xp ) ) eps ) ( d i s p l a y ‘ ( x ( . Utilice x0 = 2 y = 10−5 .´ ´ 2.

x1 . Note que esta ecuaci´n es semejante a la utilizada por el m´todo de Newton-Raphson.4.4 M´todo de la secante e Dado: f : funci´n asociada a la ecuaci´n f (x) = 0 a resolver. : tolerancia del error. permite acelerar la convergencia de una sucesi´n e o convergente. . o e n−1 )−f (xn−2 considerando la aproximaci´n f (xn−1 ) ≈ f (xxn−1 −xn−2 ) . o 4 . METODOS DE SOLUCION DE ECUACIONES si renombramos ahora x2 . obtenemos la ecuaci´n recursiva que caracteriza al m´todo de la secante4 : o e xn+1 = xn − (xn − xn−1 )f (xn ) f (xn ) − f (xn−1 ) (2. tambi´n conocido como m´todo de aceleraci´n de Aitken e e e o o M´todo ∆2 de Aitken.6) Algoritmo 2. m) 2: n←1 repeat 4: if f (xn ) = f (xn−1 ) then return “Sin soluci´n: secante horizontal” o 6: else xn+1 ← xn − (xn − xn−1 )f (xn )/[f (xn ) − f (xn−1 )] 8: n←n+1 end if 10: until |xn − xn−1 | ≤ ´ n > m o if |xn − xn−1 | ≤ then 12: return xn else 14: return “sin soluci´n en m iteraciones” o end if 16: end 2. M´todo de Aitken e Este m´todo. y m: n´mero o u m´ximo de iteraciones a Entrega: s: la soluci´n aproximada a la ecuaci´n f (x) = 0.3. o bien el mensaje o o “sin soluci´n aceptable en m iteraciones” o Metodo-Secante(f. x0 . xn y xn−1 respectivamente. x1 y x0 por xn+1 .38 ´ ´ CAP´ ITULO 2. x0 y x1 : dos o o aproximaciones iniciales a la soluci´n.

METODO DE BAIRSTOW 39 Algoritmo 2. es decir f (x) es un polinomio en una variable. o bien el meno o saje “sin soluci´n aceptable en m iteraciones” o Metodo-Aitken(f.5. As´ nos interesar´ reı. x0 : aproximacion inicial a la soluci´n.5. reduciendo cada vez a en dos el grado del polinomio.7) En general. m) 2: x1 ← f (x0 ) x2 ← f (x1 ) 4: n←0 repeat 6: xn+3 ← f (xn+2 ) xn ← xn − (xn+1 − xn )2 /(xn+2 − 2xn+1 + xn ) 8: xn+1 ← xn+1 − (xn+2 − xn+1 )2 /(xn+3 − 2xn+2 + xn+1 ) n←n+1 o 10: until xn − xn−1 ≤ ´ n > m if xn − xn−1 ≤ then 12: return xn else 14: return “sin soluci´n en m iteraciones” o end if 16: end 2.´ 2. es decir. M´todo de Bairstow e En esta secci´n veremos un m´todo para resolver el caso cuando f (x) = o e p(x). Denotaremos nuestro polinomio de grado n > 2 por pn (z) de la forma: pn (z) = an z n + an−1 z n−1 + · · · + a1 z + a0 (2. y m: o n´mero m´ximo de iteraciones u a ∗ Entrega: x : la soluci´n aproximada a la ecuaci´n f (x) = 0. a solver la ecuaci´n p(z) = 0. : tolerancia del error. Note que hemos cambiado el s´ o ımbolo de la variable de x a z para indicar que trabajaremos en el conjunto de los n´mero u complejos C. . este m´todo consiste en encontrar iterativamente factores e cuadr´ticos de la forma (Az 2 + Bz + C) para pn (z).5 M´todo de Aitken e Dado: f : funci´n asociada a la sucesi´n convergente {xn }∞ con xn+1 = o o n=0 f (xn ). en cada iteraci´n encontramos un o . x0 .

o empezaremos con valores iniciales r0 y s0 .3. 0 considerando k = 0: b n = an bn−1 = an−1 + rk bn bi = ai + rk bi+1 + sk bi+2 . tenemos que: [z − (a + ib)][z − (a − ib)] = z 2 + 2az + (a2 + b2 ) = z 2 + Bz + C En lo sucesivo usaremos B = −r y C = −s. METODOS DE SOLUCION DE ECUACIONES polinomio pn−2 (z) de grado n − 2. Para encontrar los valores de r y s que cumplan con la ecuaci´n 2. . u s = sk y como R = 0. obtenemos el polinomio: a qn−2 (z) = bn z n−2 + bn−1 z n−3 + · · · + b3 z + b2 de manera que: pn (z) = (z 2 − r0 z − s0 )qn−2 (z) + R donde en residuo est´ determinado por: a R = b1 (z − r0 ) + b0 (2. .9) o y los coeficientes {bi }n se calculan recursivamente con las f´rmulas siguientes.40 ´ ´ CAP´ ITULO 2.8) Repetiremos el proceso anterior hasta llegar al caso cuando el grado k del polinomio reducido pk (z). En cuyo caso r = rk . en caso contrario.10) Si resulta que R = 0. en conformidad con la notaci´n o propia del m´todo. Si realizamos la divisi´n de pn (z) o 2 entre el factor cuadr´tico z − r0 z − s0 . As´ buscaremos un pn−2 (z) que cumpla: e ı pn (z) = (z 2 − rz − s)pn−2 (z) (2. . Como las ra´ complejas se presentan en ıces pares conjugados. entonces pn−2 (z) = qn−2 (z) es el siguiente polinomio a iterar. . n − 3. .8. para alg´n k > 0. utilizamos el m´todo de Newtone Raphson para sistemas de ecuaciones (ver secci´n 3. para i = n − 2. 0 (2.1) hasta encontrar los o valores rk y sk que logren que R = 0. hemos encontrado el factor cuadr´tico deseado con a r = r0 y s = s0 . cumpla con k ≤ 2 que se resuelve de manera directa.

METODO DE BAIRSTOW 41 Para lograr R = 0 en la ecuaci´n 2. e El algoritmo siguiente y su auxiliar. . . se debe cumplir: ∂b0 ∆r + ∂rk ∂b1 ∆r + ∂rk ∂b0 ∆s = −b0 ∂sk ∂b1 ∆s = −b1 ∂sk (2. ∂b0 ∂b1 ∂b1 ∂b0 es decir: ∂rk = c1 . 0 (2. . sk + ∆s) = b1 + ∆r + ∂rk ∂b0 ∆s ∂sk ∂b1 ∆s ∂sk (2. describen el m´todo de Bairstow: e 5 Hemos simplificado aqu´ la notaci´n.5.12) Por tanto.15) hasta que sus errores relativos est´n dentro de la tolerancia permitida. ya que estr´ ı o ıctamente.11) (2.9. utilizar´ ıamos ∆rk y ∆sk . sk + ∆s) = b0 + ∂b0 ∆r + ∂rk ∂b1 b1 (rk + ∆r.13 a partir de los coeficientes bi con el siguiente sistema o recursivo: c n = bn cn−1 = bn−1 + rk cn ci = bi + rk ci+1 + sk ci+2 . n − 3.´ 2.13) El trabajo de Bairstow demostr´ que podemos obtener las derivadas parciales o de la ecuaci´n 2. o buscaremos los cambios ∆r y ∆s que logren hacer cero el siguiente sistema de ecuaciones5 : b0 (rk + ∆r. resolviendo el sistema: c1 ∆r + c2 ∆s = −b0 c2 ∆r + c3 ∆s = −b1 estaremos mejorando las aproximaciones de rk y sk con los ajustes: rk+1 = rk + ∆r sk+1 = sk + ∆s (2. . ∂sk = ∂rk = c2 y ∂sk = c3 . . y como b0 y b1 dependen de rk y sk . para i = n − 2.14) donde las primeras tres ci corresponden a las derivadas parciales buscadas. De esta forma.16) (2.

m) 6: if mje = “ ” then return mje error en c´lculo de factor a 8: else raices ← raices ∪ ceros del factor cuadr´tico z 2 − rz − s a 10: p←q n ← grado del polinomio p 12: end if end while 14: if n = 2 then raices ← raices ∪ ceros del polinomio p 16: else raices ← raices ∪ {−s/r} end if 18: end . METODOS DE SOLUCION DE ECUACIONES Algoritmo 2. r0 . an−1 .7) e Dado: p: polinomio en una variable asociada la ecuaci´n p(z) = 0 y reo presentado por (an . m: n´mero m´ximo de iteraciones a u a Entrega: raices: conjunto de las soluciones a p(z) = 0.42 ´ ´ CAP´ ITULO 2. s0 . . s0 .6 M´todo de Bairstow (requiere: algoritmo 2. a0 ). rel : error relativo en porcentaje para los factores a cuadr´ticos. r0 y s0 : aproximaciones iniciales a los factores cuadr´ticos. m) 2: raices ← φ n ← grado del polinomio p(z) 4: while n > 2 do (q. rel . r0 . ´ bien el mensaje o “sin soluci´n aceptable en m iteraciones” o Metodo-Bairstow(p. . r. mje) ← Factor-Bairstow(p. . s. rel . .

.“”) end if 16: end 2. r. o bien el mje=“sin soluci´n aceptable en m o iteraciones” Factor-Bairstow(f. m) 2: k←0 repeat 4: Calcula las bi utilizando la ecuaci´n 2. rel : error relaa tivo en porcentaje para los factores cuadr´ticos. . APLICACIONES 43 Algoritmo 2.15 Calcula rk y sk aplicando las ecuaciones 2.6.6) a Dado: p: polinomio en una variable. representado por (an .7 Factor cuadr´tico para Bairstow (algoritmo 2.1 (Modelos poblacionales). Aplicaciones Aplicaci´n 2.10 o Calcula las ci utilizando la ecuaci´n 2. . m: n´mero m´ximo de a u a iteraciones Entrega: (q(z). a0 ). s.14 o 6: Determina ∆rk y ∆sk resolviendo el sistema 2. r0 .2 (Determinaci´n de valores caracter´ o o ısticos). s.16 8: k ←k+1 until (k > m) 10: if k > m then return “Sin soluci´n en m iteraciones” o 12: else q(z) est´ representado por las {bi } a 14: return (q. s0 .6. q est´ representado por sus coeficientes en orden a descendente) y mje=“”.2. o Aplicaci´n 2. . r. an−1 . rel . mje): valores que cumplen la ecuaci´n p(z) = (z 2 − o rz − s)q(z) (donde. r0 y s0 : aproximaciones iniciales a los factores cuadr´ticos. .

44 ´ ´ CAP´ ITULO 2. METODOS DE SOLUCION DE ECUACIONES .

1) podemos despejar la variable xi para obtener una expresi´n que relacione o (k+1) (k) xi con xi : n (k+1) xi =− j=1 j=i aij (k) x aii j + bi . 1 ≤ i ≤ n.1.2) El m´todo de Jacobi consiste b´sicamente en aplicar la ecuaci´n 3.Cap´ ıtulo 3 M´todos de soluci´n de e o sistemas de ecuaciones 3. M´todo de Jacobi e n Dado un sistema lineal: aij xj = bi .1. empezando con los valores iniciales correspondientes. 45 . M´todos iterativos para sistemas lineales e Cuando el n´mero de variables de los sistemas a resolver es elevado (por u ejemplo.2 para cada e a o una de las variables. arriba de 100) los m´todos directos resultan impr´cticos y recue a rrimos a los m´todos iterativos. a 3. en esta secci´n presentaremos dos m´todos e o e cl´sicos fundamentales. 1 ≤ i ≤ n j=1 (3.1. aii = 0 aii (3.

Esto nos da la siguiente ecuaci´n para el m´todo de Gauss-Seidel: o e xi (k+1) =− 1 aii i−1 n aij xj j=1 (k+1) + j=i+1 aij xj − bi (k) (3.4) (3. M´todo de Gauss-Seidel e A diferencia del m´todo de Jacobi. donde.3) y como aii = 0 para 1 ≤ i ≤ n. 1 ≤ j ≤ i − 1 para calcular el valor de xi .46 ´ CAP´ ITULO 3. utiliza los e e (k) (k+1) valores previos de xj . El proceso se detendr´ cuando la distancia eua clideana x(k+1) − x(k) < . eme o pezando con el vector x0 .1. triangular inferior y triangular superior.2. Partimos de la ecuaci´n o Ax = b y el hecho de que podemos descomponer la matriz A como A=D+L+U . en forma matricial: x(k+1) = −D−1 (L + U)x(k) + D−1 b (3. el M´todo de Gauss-Seidel. podemos despejar x en Dx para obtener: x = −D−1 (L + U)x + D−1 b (3. respectivamente. para una determinada tolerancia del error .6) donde x(k) representa el valor de las variables en la k-´sima iteraci´n.7) 3. claro: n 1/2 X−Y = j=1 (xi − yi ) 2 (3. METODOS PARA SISTEMAS DE ECUACIONES La forma matricial se deriva de forma similar.8) . es decir en sus matrices diagonal principal.5) Utilizando este ecuaci´n. Por tanto: Ax = (D + L + U)x = b y entonces podemos despejar el t´rmino Dx para obtener: e Dx = −(L + U)x + b (3. obtenemos la ecuaci´n para un paso del m´todo de o o e Jacobi.

2.11) Escrito en notaci´n vectorial. . M´todo iterativo secuencial e Presentamos aqu´ una generalizaci´n del m´todo visto en la secci´n 2. empezando con los valores iniciales correspondientes. . SISTEMAS DE ECUACIONES NO LINEALES 47 El m´todo de Gauss-Seidel consiste b´sicamente en aplicar la ecuaci´n 3. a o 3. La forma matricial se deriva de forma similar al m´todo de Jacobi. x2 . i = 1. o Para aplicar con ´xito el m´todo de punto fijo para sistemas iterando la e e ecuaci´n: o xk+1 = g(xk ) (3. n (3.2. .9) de donde despejando. despejamos ahora el t´rmino (D + L)x para obtener: o e (D + L)x(k+1) = −Ux(k) +b (3. 3. De la e ecuaci´n 3. para 1 ≤ i ≤ n. Sistemas de ecuaciones no lineales En la secci´n anterior hemos visto. requerimos que la funci´n o ´ o g(x). . nuestro sistema es simplemente: g(x) = x. Los m´todos presentados e son extensiones de los vistos en el cap´ ıtulo 2. .2.2.10) Ya que asumimos que aii = 0. sabemos que D + L es no singular y x(k) est´ bien definida para toda iteraci´n k. . cumpla con las condiciones del siguiente teorema: .3. Ahora nos toca revisar m´todos fundamentales e para resolver sistemas de ecuaciones no lineales. .3. .3.8 e a o para cada una de las variables. para. e Se trata aqu´ de resolver el sistema de ecuaciones: ı xi = gi (x1 . los m´todos iterativos b´sicos para o e a resolver sistemas lineales. encontramos la ecuaci´n de una iteraci´n del m´todo o o e de Gauss-Seidel: x(k+1) = −(D + L)−1 Ux(k) +(D + L)−1 b (3. xn ). ı o e o donde presentamos el m´todo de punto fijo (algoritmo 2.12) y garantizar su convergencia a una soluci´n unica.2.2.1.

. xn )T | ai ≤ xi ≤ bi . .1 (Convergencia del m´todo de punto fijo para sistemas (adape tado de [8] pp. i = 1.j=1 ∂gi ∂xj 2 1/2 (3.14) El algoritmo 3. x2 .1 describe los pasos de este m´todo: e . . i = 1. o o Si la funci´n g(x) posee adem´s primeras derivadas. la sucesi´n {xn } al aplicar la ´ o ecuaci´n 3. . gi (x) ∈ C[R]. .2.11. .131-132)). gn (x)]T ∈ R 3. . 132) utilizando la ecuaci´n: o n L = m´x a x∈R i. Existe una constante de Lipschitz L < 1 para la cual se cumple la condici´n: o g(x1 ) − g(x2 ) ≤ L x1 − x2 . . funciones reales definidas sobre la hipercaja R := x = (x1 . . . tiene una soluci´n o o unica s ∈ R y para cualquier x0 ∈ R. Sean g1 (x). Para cualquier x ∈ R : g(x) = [g1 (x). . . converge a dicha soluci´n.48 ´ CAP´ ITULO 3. es determinando una e cota superior para la constante de Lipschitz (ver [8] p.13) Entonces el sistema definido por la ecuaci´n 3. . n 2. x2 ∈ R (3.12. . n y que satisfacen las siguientes condiciones: 1. METODOS PARA SISTEMAS DE ECUACIONES Teorema 3. x1 . . . . . . gn (x). una manera de vero a ificar si el m´todo de punto fijo para sistemas aplica. .

1 tambi´n se genere o e aliza a sistemas de ecuaciones. .3. . x0 . al jacobiano de una funci´n vectorial.4. . : tolerancia del error. xn ) = 0. .15) . i = 1. para. o Punto-Fijo-Sistemas(g. b´sicamente se requiere extender el concepto a de derivada de una funci´n. Iteraci´n y convergencia en sistemas de o ecuaciones M´todo de Newton-Raphson para sistemas e El m´todo de Newton-Raphson visto en la secci´n 2. 2. m) 2: if g(x0 ) = x0 then caso excepcional return x0 4: else n←0 6: repeat xn+1 ← g(xn ) 8: n←n+1 until xn − xn−1 ≤ ´ n > m o 10: if xn − xn−1 ≤ then return xn 12: else return “sin convergencia en m iteraciones” 14: end if end if 16: end 3. x0 : valor inicial o o de la soluci´n. n (3. ITERACION Y CONVERGENCIA 49 Algoritmo 3. Entrega: x∗ : la soluci´n aproximada a la ecuaci´n x = g(x) con un error o o ≤ . o o dado el sistema: fi (x1 . Es decir. x2 .3. . .3. 3. m: n´mero m´ximo de iteraciones o u a permitidas.´ 3. o bien el mensaje: “sin convergencia en m iteraciones” si la soluci´n o no converge en las iteraciones y la precisi´n deseada. .1. .1 M´todo de punto fijo para sistemas e Dado: g: funci´n asociada a la ecuaci´n x = g(x) a resolver. .

∂f1 (x) ∂xn ∂f2 (x) ∂xn      (3.16) . ∂fn (x) · · · ∂x2 ··· ··· . METODOS PARA SISTEMAS DE ECUACIONES calculamos el jacobiano de Jf (x) como:    Jf (x) =   ∂f1 (x) ∂x1 ∂f2 (x) ∂x1 ∂f1 (x) ∂x2 ∂f2 (x) ∂x2 . ∂fn (x) ∂xn Podemos expresar ahora el m´todo de Newton-Raphson para sistemas e como la aplicaci´n iterada de la ecuaci´n vectorial: o o xk+1 = xk − [Jf (xk )]−1 f (xk ) (3. . . m) 2: n←0 repeat 4: if Jf (xn ) = 0 then return “Jf (xn ) = 0 en la iteraci´n n” o else 6: xn+1 = xn − [Jf (xn )]−1 f (xn ) n←n+1 8: end if until xn − xn−1 ≤ ´ n > m o 10: if xn − xn−1 ≤ then return xn 12: else return “sin convergencia en m iteraciones” 14: end if end .17) Algoritmo 3.50 ´ CAP´ ITULO 3. x0 : aproxio o maci´n inicial a la soluci´n. . y m: n´mero m´ximo o o u a de iteraciones Entrega: s: la soluci´n aproximada a la ecuaci´n f (x) = 0. o bien el meno o saje “sin soluci´n aceptable en m iteraciones”. . . .2 M´todo de Newton-Raphson para sistemas e Dado: f : funci´n asociada a la ecuaci´n f (x) = 0 a resolver. . o bien “Jf (x) = 0 en la o iteraci´n n” o Newton-Raphson(f .. x0 . ∂fn (x) ∂x1 . . : tolerancia del error.

Considere un mao o nipulador rob´tico de dos eslabones con par´metros L1 . θ2 que detero a minan un punto (x.4. (Planeaci´n de la trayectoria) Dado un tiempo t = T .2 (Modelo econ´mico de Leontief). Resolver los siguiente problemas: 1. y encontrar θ1 . determinar la o trayectoria de la “mano” del robot para moverse de (x0 . (Cinem´tica inversa) Dados L1 . (Cinem´tica directa) Dados L1 . Aplicaciones Aplicaci´n 3.4. x. y0 ) a (x1 .4 (Sistemas polinomiales multivariables). θ2 a 3. θ2 .3. L2 . encontrar (x. o o Aplicaci´n 3. y) a 2. L2 . L2 . θ1 . o Aplicaci´n 3. y) en el plano.3 (Cadenas de Markov).1 (Manipulador rob´tico de dos eslabones). θ1 . o . y1 ) Aplicaci´n 3. APLICACIONES 51 3.

52 ´ CAP´ ITULO 3. METODOS PARA SISTEMAS DE ECUACIONES .

3) . Para determinar el error de dicha aproxn imaci´n.1. Despejando f (x) obtenemos la aproximaci´n dada por la f´rmula 4. f (x) = f (x + h) − f (x) + O(h) h 53 (4. tenemos: f (ξ) 2 f (x + h) = f (x) + f (x)h + h (4.1).Cap´ ıtulo 4 Diferenciaci´n e integraci´n o o num´rica e 4.1. podemos auxiliarnos con el Teorema de Taylor (1. la cual sabemos ahora (por la ecuaci´n o o o f (ξ) 2 anterior) que tiene un error del orden O(h) ya que 2 h = O(h).1) utilizando valores peque˜os de h. Si aproxio mamos f (x + h) por su polinomio de Taylor de primer orden alrededor de x.3. Diferenciaci´n num´rica o e De nuestros cursos de C´lculo. recordamos el uso de l´ a ımites para calcular la derivada de una funci´n diferenciable: o f (x) = l´ ım h→0 f (x + h) − f (x) h Lo que nos sugiere que podemos aproximar f (x) con la ecuaci´n: o f (x) ≈ f (x + h) − f (x) h (4.2) 2 donde ξ es un valor entre x y x + h.

1: Estimaci´n b´sica de una derivada o a .54 ´ ´ ´ CAP´ ITULO 4. DIFERENCIACION E INTEGRACION NUMERICA 6 5 4 f(x+h)-f(x) 3 2 h 1 x 4 x+h 6 -2 -1 0 -1 1 2 3 5 7 Figura 4.

Con el prop´sito de encontrar mejores f´rmulas para derivaci´n de funo o o ciones. ya que en este caso sabemos que cot (x) = cos2 (x) a y por tanto cot (2) = −1.169e-009 -1.2094504 -1.1.2. La siguiente tabla (4.2094504 -1. ya que en este caso sabemos que (ex ) = ex y por tanto (ex ) (1) = 2. Problema 4.1801389e-005 -1. obtenida aplicando la ecuaci´n 4.1. Como en o el ejemplo anterior. o −1 Adem´s incluimos el error.1 0.062452083929 0.1. Para fines comparativos. Investigue la raz´n por la cual.238831 -1.7182818 a siete decimales.2122345 -1. Ejercicio 4. Para esto utilizaremos los polinomios .2100046 error O(h) 0. en la ultima columna de o ´ la tabla 4.2092561 -0.029380549229 0. DIFERENCIACION NUMERICA 55 Ejemplo 4.8713e-008 -1. Presentamos en la tabla (4. obtenida aplicando la ecuaci´n 4.000194298269 -1.´ ´ 4.2719025 -1. Calcular las primeras tres columnas de la tabla 4.002784043309 0.1 para la derivada de la funci´n tan(x) evaluada en x = π/5. Investigue la existencia de una f´rmula para f (x) con un o error del orden O(h). o Problema 4.2094386 -1.2.1.1 para diferentes valores de h.2094504 -2e-012 Ejemplo 4.1.01 0.1) presenta la derivada de cot(x) en x = 2. incluimos el error.1. aplicaremos en la siguiente secci´n. hemos agregado en las ultimas dos columnas los valores correspon-dientes ´ al utilizar la f´rmula de diferencias centradas de orden O(h4 ) que preo sentaremos m´s adelante.1: Ejemplo comparativo para la derivada de cot(x) h 0.2094504 a siete decimales.1. se incrementa el error conforme se reduce el valor de h.1.005601277957 0. hemos agregado en las ultimas dos columnas los valores correspon´ dientes al utilizar la f´rmula de diferencias centradas de orden O(h4 ) o como en el ejemplo previo. el m´todo de sustituir la funci´n o e o f (x) por un polinomio interpolante.1.2.2) la derivada de ex en x = 1.1 para diferentes valores de h. a Tabla 4.2150517 -1.05 0.000554171084 ≈ cot (2) error O(h4 ) -1. Para fines comparativos.001 ≈ cot (2) -1.005 0.

071733e-006 2.169e-009 de Lagrange.7182818 -1. . Diferencias progresivas. . ya que nos permiten tambi´n calcular la derivada en el caso e de no tener una f´rmula matem´tica. donde xi = x0 + ih. cuando n0 = 0 3.7182818 9.7182818 0. en base o a los valores de n0 : 1. n.7182954 2.1.7182818 2e-010 2. sino s´lo un n´mero finito de puntos o a o u (xi .7182818 -2.0 2. i = n0 . F´rmulas de diferencia progresiva y regresiva o B´sicamente. Diferencias centradas..3591498e-005 -1. 2. para despu´s aproximar f (x) con e pn (x).358972e-006 -1.56 ´ ´ ´ CAP´ ITULO 4.06e-010 2.4) Tenemos entonces los siguientes tres casos de f´rmulas de diferencias.39947e-007 ≈ e (2) error O(h4 ) 2. utilizaremos la notaci´n siguiente: o o fi = f (xi ). es sustituir la funci´n a a o o derivar f (x) por su polinomio interpolante de Lagrange pn (x) obtenido a partir de (n + 1) puntos xi . cuando n − n0 = 0 2. para i = 1. Diferencias regresivas.140560126415 -0.2e-011 2. . que aparece en la tabla 4. . 4. n − n0 (4. la idea para obtener estas f´rmulas.1 0. DIFERENCIACION E INTEGRACION NUMERICA Tabla 4.1. cuando n0 = −n/2 4.858842 2. Considerando puntos equidistantes separados una distancia h.001359594074 -0.3 (adaptada de [16]) .2.01 0.1.001 0. F´rmula de tres puntos o Utilizando n = 2 y n0 = −1 obtenemos la f´rmula de diferencias centradas o para f (x0 ).7184177 2.. para expresar las f´rmulas de f (x0 ).2: Ejemplo comparativo para la derivada de f (x) = ex h 0.7182728 9.7182832 2. yi ). .7196414 2. n0 ≤ i ≤ n − n0 .7182818 -1e-012 2.718282 error O(h) -0..7319187 2.0001 1e-005 1e-006 1e-007 ≈ e (2) 2.000135918624 -1.013636827328 -0.

1: . 4. F´rmula de cinco puntos o Utilizando n = 4 y n0 = −2 obtenemos la f´rmula de diferencias centradas o para f (x0 ).3.5) Tabla 4. Verificar experimentalmente las siguientes f´rmulas de oro 2 den O(h ) para la tercera y cuarta derivadas: f2 − f1 + 2f−1 − f−2 2h3 f2 − 4f1 + 6f0 − 4f−1 − f−2 f (4) (x0 ) = h4 f (3) (x0 ) = y justificarlas paso a paso mediante la aplicaci´n de los polinomios de Lao grange. que aparece en la tabla 4.´ ´ 4.6) Problema 4.1.1. DIFERENCIACION NUMERICA 57 Tabla 4.4: F´rmulas de diferencias centradas de orden O(h4 ) para derivadas o −f2 + 8f1 − 8f−1 + f−2 12h −f2 + 16f1 − 30f0 + 16f−1 − f−2 f (x0 ) = 12h2 f (x0 ) = (4.1.4(adaptada de [16]) Una implementaci´n en Scheme para el c´lculo de f (x0 ) anterior se preo a senta en el listado 4.3.3: F´rmulas de diferencias centradas de orden O(h2 ) para derivadas o f1 − f−1 2h f1 − 2f0 + f−1 f (x0 ) = h2 f (x0 ) = (4.

h = . . DIFERENCIACION E INTEGRACION NUMERICA C´digo Scheme 4. [ por d i f e r e n c i a s c e n t r a d a s O( h ˆ 4 ) ] ( define ( d e r i v a −con−h f x h ) ( / (+ (− ( f (+ x h h ) ) ) (∗ 8 ( f (+ x h ) ) ) (∗ −8 ( f (− x h ) ) ) ( f (− x h h ) ) ) (∗ 12 h ) ) ) Problema 4.7) n y se integra cada subitervalo aproximando el ´rea bajo la funci´n por el ´rea a o a del trapecio cuya base es h y su altura promedio es [f (xi ) + f (xi+1 )]/2. .2. Por . M´todo del trapecio e b Dado el problema de aproximar la integral a f (x)dx. n (4.4 o o u o 2 4 6 .4. . . b] en n subintervalos [xi .1. el m´todo del trapecio e divide el intervalo [a. .58 ´ ´ ´ CAP´ ITULO 4.2. xi+1 ]. b] en subintervalos igualmente espaa ciados.1. para. 4. i = 0. d e r i v a d a num ’ e r i c a con h . Verificar experimentalmente las siguientes f´rmulas de oro 4 den O(h ) para la tercera y cuarta derivadas: −f3 + 8f2 − 13f1 + 13f−1 − 8f−2 + f−3 8h3 −f3 + 12f2 − 39f1 + 56f0 − 39f−1 + 12f−2 − f−3 f (4) (x0 ) = 6h4 f (3) (x0 ) = y justificarlas paso a paso mediante la aplicaci´n de los polinomios de Lao grange. donde cada xi est´ definia da por: b−a xi = a + ih. . las cuales aproximan una integral definida b f (x)dx subdividiendo el intervalo [a.1: Funci´n para calcular f (x0 ) seg´n ecuaci´n 4. 4. Integraci´n num´rica o e En las siguientes dos secciones veremos dos de las llamadas f´rmulas o de cuadratura de Newton-Cotes. 1.

que utiliza un polinomio interpolador e lineal. En este caso integramos cada tres puntos (i.10) Rn = − 12 para alguna c entre a y b.12) donde . 4. a contine o uaci´n presentamos la llamada regla compuesta de Simpson.e. el m´todo de Simpson sustituye f (x) por un interpolador de Lagrange e de segundo grado p2 (x). o A diferencia del m´todo trapezoidal.2.11) 3 xi−1 por lo que la f´rmula resultante es: o b f (x)dx = a b−a [f (x) + f (b) + 4A + 2B] + O(h4 ) 3n (4.´ ´ 4.2. INTEGRACION NUMERICA lo tanto la aproximaci´n de nuestra integral es: o 1 f (x)dx ≈ 2 ≈ ≈ h 2 n 59 [f (xi−1 ) + f (xi )]h i=1 n [f (xi−1 ) + f (xi )] i=1 n−1 (4. se deriva mediante la integraci´n del e o polinomio interpolador lineal de Lagrange para f (x) y asume la existencia de f (x): h2 (b − a) f (c) (4.9) El error Rn del m´todo del trapecio. cada dos subintervalos) obteniendo: xi+1 h p2 (x)dx = [f (xi−1 ) + 4f (xi ) + f (xi+1 )] (4.2. logrando con ello una reducci´n en el error por o truncamiento. M´todos de Simpson e Existen varias reglas o m´todos de Simpson para integraci´n.8) f (xi ) h [f (a) + f (b)] + h 2 i=1 de donde resulta nuestra f´rmula principal de la regla compuesta del trapecio: o h f (x)dx = f (a) + f (b) + 2 2 n−1 f (xi ) + Rn i=1 (4.

60 ´ ´ ´ CAP´ ITULO 4.2 una implementaci´n en Scheme de la regla o compuesta de Simpson: . DIFERENCIACION E INTEGRACION NUMERICA n es un n´mero par u h = (b − a)/n A= B= n/2 i=1 f [a + (2i − 1)h] f (a + 2ih) (n/2)−1 i=1 O(h4 ) representa el orden del error Presentamos en el listado 4.

u t i l i z a n d o l a r e g l a compuesta de Simpson ( define ( simpson f a b h ) ( l e t ∗ ( (m ( c e i l i n g ( / (− b a ) (∗ 2 h ) ) ) ) ( n (∗ 2 m) ) ) (∗ ( / (− b a ) (∗ 3 n ) ) (+ ( f a ) ( f b) (∗ 4 ( s u m a t o r i a (lambda( i ) ( f (+ a (∗ 2 i h ) (− h ) ) ) ) 1 (/ n 2 ) ) ) (∗ 2 ( s u m a t o r i a (lambda( i ) ( f (+ a (∗ 2 i h ) ) ) ) 1 (− ( / n 2 ) 1))))))) 61 2 4 6 8 10 12 14 16 18 20 Ejemplo 4.2.´ ´ 4. > ( simpson (lambda( x ) (∗ 4 ( s i n (∗ 3 x ) ) ) ) 0 1 0.1.6533233288017897 4. requieren como par´metro. se utiliza a e (la tolerancia del error) y el procedimiento va subdividiendo el intervalo inicial [a.001) 2.2. INTEGRACION NUMERICA C´digo Scheme 4.2: Funci´n para la regla compuesta de Simpson o o . Esto . en el m´todo de Romberg. b] recursivamente. ya e o a sea h o n para realizar los c´lculos. Integraci´n de Romberg o Los dos m´todos de integraci´n previos. aproxima una i n t e g r a l d e f i n i d a .3. La siguiente interacci´n presenta c´mo calcular num´ricao o e 1 mente la integral 0 4sen(3x)dx para h = 10−3 . en tantos subintervalos como sea necesario.2.

DIFERENCIACION E INTEGRACION NUMERICA se logra combinando el m´todo del trapecio.1 }. es utilizar la sucesi´n de o valores Ri.i−1 . . con el m´todo de extrapolaci´n e e o de Richardson. k ≥ 2 h1 = b − a hk−1 .i + O(h2i ).1 = Rk. .1 + hk−1 f a + (i − )hk−1 2 2 i=1 (4.i−1 − Rk−1. obtenemos: e o b f (x)dx = a 4Rk.62 ´ ´ ´ CAP´ ITULO 4. .14. nos lleva o e o a las siguientes ecuaciones de Romberg: R1. P2 . 2 ≥ i ≥ k k a (4.1 + O(h4 ). 2 ≥ i ≥ k 4i−1 − 1 (4. . k≥2 hk = 2 Pk : xi = a + (i − 1)hk . 0 ≤ i ≤ nk La aplicaci´n del m´todo del trapecio a la sucesi´n de particiones.1 − Rk−1. aplicamos la exo trapolaci´n de Richardson a la sucesi´n {Rk.15) Con lo cual podemos expresar el m´todo de Romberg.14) Para acelerar la convergencia asociada a la ecuaci´n 4.1 h [f (a) + f (b)] 2 nk−1 1 1 = Rk−1. Pk en base o a las siguientes ecuaciones recursivas: n1 = 1 nk = 2nk−1 .i = 4i−1 Rk. k ≥ 2. para obtener: o o Rk. k ≥ 2.i generados por la ecuaci´n 4.13) Aplicando ahora el m´todo de extrapolaci´n de Richardson. como: e b f (x)dx = Rk.i − Ri−1. k ≥ 2 k 3 (4.i−1 | < para un dado.16) Una manera de definir el algoritmo de Romberg. .16 y detener el proceso en la iteraci´n o o i que cumpla |Ri. Definimos primeramente la sucesi´n de particiones P1 .

c a s o R( k . k ) .3: Funci´n para el m´todo de Romberg o o e ( define ( romberg f a b eps ) ( define ( hk k ) .2. 1 ) ( i f (= k 1 ) (∗ ( / ( hk 1 ) 2 ) (+ ( f a ) ( f b ) ) ) (∗ 1/2 (+ ( romb1 (− k 1 ) ) (∗ ( hk (− k 1 ) ) ( sumatoria (lambda( i ) ( f (+ a (∗ (− (∗ 2 i ) 1 ) ( hk k ) ) ) ) ) 1 ( expt 2 (− k 2 ) ) ) ) ) ) ) ) ( define ( romb i j ) .2. c a s o R( i . INTEGRACION NUMERICA C´digo Scheme 4. ( romb k k ) ) ) . k : . j ) ( i f (= j 1 ) ( romb1 i ) (+ ( romb i (− j 1 ) ) ( / (− ( romb i (− j 1 ) ) ( romb (− i 1 ) (− j 1 ) ) ) (− ( expt 4 (− j 1 ) ) 1 ) ) ) ) ) . o p c i o n a l ( newline ) .2. ciclo principal (do ( ( k 1 (+ k 1 ) ) (R ( romb1 1 ) ( romb (+ k 1 ) (+ k 1 ) ) ) ( Rs ( romb 2 2 ) ( romb (+ k 2 ) (+ k 2 ) ) ) ) ((< ( abs (− Rs R) ) eps ) Rs ) ( d i s p l a y ‘ ( r ( .´ ´ 4. Evaluemos la siguiente integral que aproxima la constante de Euler: 1 1 1 γ= + dt 1 − t ln t 0 Ya que en t = 0 y en t = 1 la funci´n a integrar est´ indeterminada. opcional )) 63 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Ejemplo 4. utilizareo a −6 mos para la aproximaci´n los l´ o ımites a = 10 y b = 1 − 10−6 . Consideremos . h d e l k−esimo s u b i n t e r v a l o ( / (− b a ) ( expt 2 (− k 1 ) ) ) ) ( define ( romb1 k ) .

5880919525304922) ( r (4 : 4) 0.64 ´ ´ ´ CAP´ ITULO 4.5814810778664038) ( r (5 : 5) 0. en particular utilizaremos los polinomios de Legendre de grado n. M´todo de cuadratura gaussiana e Antes de resolver la integraci´n de el intervalo general [a. DIFERENCIACION E INTEGRACION NUMERICA una tolerancia de 10−4 . La siguiente interacci´n en Scheme nos muestra la o soluci´n por el m´todo de Romberg.18) En lugar de utilizar puntos equidistantes para particionar el intervalo de integraci´n [−1. o e > ( romberg (lambda( t ) (+ ( / 1 (− 1 t ) ) ( / 1 ( l o g t ) ) ) ) 10 e−6 (− 1 10 e −6) 0 . debido a que utilizaremos funciones ortogonales en el intervalo [−1. Eval´e por el m´todo de Romberg la siguiente integral u e −6 considerando = 10 1 ln(1 + x) dx 1 + x2 0 Calcule el error relativo de su soluci´n. sabiendo que el valor exacto es o π ln 2 8 4.1.4.5789083665486172) ( r (6 : 6) 0.2. es decir: 1 1 f (x)dx ≈ −1 −1 Pn (x)dx (4. 0 0 0 1 ) ( r (1 : 1) 0. 1] (como fue el caso en los m´todos anteriores) ahora o e .5772417545073438 > El valor de esta famosa constante a 10 decimales es 0. b]. que denotaremos Pn (x) para aproximar la integral buscada.5774707636230789) 0. resolveremos o el problema m´s sencillo: a 1 f (x)dx −1 (4.2.7065618370052935) ( r (2 : 2) 0. 1].17) esto es necesario.6070498210096675) ( r (3 : 3) 0.5772156649 Ejercicio 4.5778819093890034) ( r (7 : 7) 0.

5384693101 0 wi 2 1 0. es necesario ajustar los valores de xi y wi a xi y wi respectivamente. −1 ≤ xi ≤ 1. 270): Tabla 4. (4. estos se presentan en forma tabular.5: Nodos y pesos para cuadratura gaussiana n 1 2 3 4 5 xi 0 0.5555555556 0. como en la tabla 4.22) .8888888889 0. b]. es decir b n f (x)dx ≈ a i=1 wi f (xi ).3478548451 0. wi = wi 2 2 2 (4.20) Ya que los valores de xi y wi normalmente se utilizan para n relativamente peque˜a. es decir: o 1 n f (x)dx ≈ −1 i=1 wi f (xi ).6521451549 0.3399810436 0.7745966692 0 0.5773502692 0.8611363116 0.2369268851 0. mediante un cambio de variable.´ ´ 4.9061798459 0.5 (ver por n ejemplo [8] p. a ≤ xi ≤ b. (4.19) Los valores de los nodos xi corresponden a los ceros de los polinomios de Legendre Pn (x) y los pesos wi se pueden calcular con la ecuaci´n: o 1 n wi = −1 i=1 j=i x − xj dx xi − xj (4. 1 ≤ i ≤ n.4786286705 0. 1 ≤ i ≤ n.2. INTEGRACION NUMERICA 65 consideramos los nodos xi y los pesos wi como par´metros para optimizar la a aproximaci´n.5688888889 ± ± ± ± ± Para poder resolver el problema en el intervalo general [a.21) donde xi = a+b b−a b−a + xi .

para ciertas valores a.1. con k = (d − u c)/m.12) para aproximar o d f (x. DIFERENCIACION E INTEGRACION NUMERICA de donde obtenemos nuestra f´rmula principal para el m´todo de cuadratura o e 1 gaussiana: b a b−a f (x)dx ≈ 2 n wi f ( i=1 a+b b−a + xi ) 2 2 (4.5 correspondiente a un entero n > 1 4. Integraci´n m´ ltiple o u Para evaluar integrales m´ltiples en regiones rectangulares. u para obtener los datos de la tabla 4. utilizado para aproximar el valor de π. y)dy c (4. Por ejemplo para el caso bidimensional tenemos: b d f (x. y0 ) + 4Ax + 2Bx + f (x. c. Subdividiendo [c. 1 ≤ i ≤ n Proyecto 4. el cual no debe e e e confundirse con el llamado algoritmo de Gauss-Legendre. y)dy dx (4. y2j−1 ) Este m´todo se conoce tambi´n como m´todo de Gauss-Legendre. un m´todo de soluci´n es aplicar primero la regla come o puesta de Simpson (ecuaci´n 4. c ≤ y ≤ d}. y)dA = R a c f (x. . y)dy ≈ c k [f (x. b.25) donde asumimos xi como constante. d] en un n´mero par m de subintervalos. ym )] 3 (4.3. podemos aplicar u los m´todos de las secciones previas de una manera similar a la composici´n e o de funciones. y podemos escribir: d f (x.23) para a ≤ xi ≤ b. d ∈ R Para este caso. entonces yj = c + jk para 0 ≤ j ≤ m.24) donde R = {(x.26) donde Ax = 1 m/2 j=1 f (x. y)|a ≤ x ≤ b. Construya un programa en Scheme o en alg´n otro lenguaje.66 ´ ´ ´ CAP´ ITULO 4.

Dada una funo a ci´n polinomial que describe la trayectoria de la “mano” de un robot de dos o eslabones. yj ) + 4A + 2B + f (xn .1 (Generaci´n de variables aleatorias). yj ) f (x2i .27) Bx dx + a a f (x.4.1).4. yj )dx ≈ a h [f (x0 .3 (Cinem´tica de un robot de dos eslabones). ym )dx Ahora aplicamos de nuevo la regla compuesta de Simpson. o o Aplicaci´n 4.2 (Generaci´n de tablas de distribuciones de probabilidad). y0 )dx + 4 a b b a Ax dx (4.4 (Centros de gravedad). calcular su velocidad y aceleraci´n (continuaci´n de la aplicaci´n o o o 3. o . o o Aplicaci´n 4. y2j ) Podemos ahora escribir nuestra integral doble como: b a c d f (x. Aplicaciones Aplicaci´n 4.28) donde A= B= n/2 i=1 f )(x2i−1 . 4. y)dydx ≈ k 3 +2 b b f (x. yj ) (n/2)−1 i=1 donde xi = a + ih para 0 ≤ i ≤ n. APLICACIONES Bx = (m/2)−1 j=1 67 f (x. yj )] 3 (4.4. Aplicaci´n 4. a cada una de las integrales del lado derecho. donde cada una de ellas tiene la forma siguiente y se aplican para yj con 0 ≤ j ≤ m b f (x.

68 ´ ´ ´ CAP´ ITULO 4. DIFERENCIACION E INTEGRACION NUMERICA .

M´todos de un paso e Definici´n 5. N − 1 (5. Llamamos m´todo de un paso para o e e resolver el problema de valor inicial y = f (x. x0 ≤ x ≤ b (5. 1.3) 69 . b = 1 en la ecuaci´n 5.1) a un procedimiento de integraci´n dado por o yn+1 = ayn + h[bf (xn . .1. y). . yn ) (5.1 (M´todo de un paso).2.Cap´ ıtulo 5 Soluci´n de ecuaciones o diferenciales [Un teorema fundamental del an´lisis num´rico:] consistencia a e + estabilidad = convergencia Germund Dahlquist[28] 5. .2) 5.1. por lo cual e o emplea: yn+1 = yn + hf (xn . .1. y n = 0. y(x0 ) = y0 .1. yn )] donde h = (b − x0 )/N . M´todo de Euler y formas mejorada e El m´todo de Euler utiliza a = 1.

x0 ≤ x ≤ b (5.2 (ver [5] pp. En este caso se mejora la estimaci´n de la e o pendiente. consideramos o que Y (x0 ) = y0 y: Y (x) = f [x. despejando Y (x + h) obtenemos: Y (x + h) ≈ Y (x) + hY (x) ≈ Y (x) + hf [x.5) de donde.70 ´ CAP´ ITULO 5. la f´rmula de iteraci´n puede escribirse como: o o yi+1 = yi + hf (xi+1/2 . es decir:2 0 yi+1 = yi + hf (xi .6) M´todo del punto medio. Veamos dos m´todos1 que de manera directa e mejoran el m´todo de Euler: e M´todo de Heun. utilizando el punto medio entre xi y xi+1 . Es decir. yn ) obtenemos la f´rmuo la del m´todo de Euler (ecuaci´n 5. . yi+1 ) yi+1 = yi + h 2 (5.1. estos m´todos se consideran tambi´n entre los m´todos de Runge-Kutta.4) La aproximaci´n lineal de Y (x) se representa como: o Y (x) ≈ Y (x + h) − Y (x) h (5. Y (x)]. yi ) + f (xi+1 . Por tanto. y(x)] por f (xn . SOLUCION DE ECUACIONES DIFERENCIALES Este se obtiene de considerar una aproximaci´n lineal a la para la soluci´n exo o acta Y (x) del problema de valor inicial (ecuaci´n 5. y(x)] Denotando Y (x+h) como yn+1 y f [x. Mejora el c´lculo de la pendiente. yi+1/2 ) 1 (5.7) De hecho. por lo que es s´lo un punto e a a o de partida en nuestro estudio. 272-276) o 2 Existen varias formas de representar estas ecuaciones.1. utilizando dos pune a tos (inicial y final de cada intervalo) para luego obtener un promedio. yi ) 0 f (xi . e e e que veremos en la secci´n 5.3) e o El m´todo de Euler es uno de los m´s b´sicos.

4 1.7 1.1 1) (2 0. 1 10) ((0 0 1) (1 0. Utilice n = 10.1.´ 5.8) para 0 ≤ x ≤ 1 y condici´n inicial y(0) = 1.3 1.6 1.1259675) (8 0.9 1.5 1.1. y ) con y ( a)=ya ( define ( e u l e r f a b ya n ) ( l e t ( ( h ( / (− b a ) n ) ) ) (do ( ( k 0 (+ k 1 ) ) ( x a (+ x h ) ) ( y ya (+ y (∗ h ( f x y ) ) ) ) .2603152) (1 0 1 .2 1. y) o o o 2 4 6 8 10 . m’ e to do de E u l e r para y’= f ( x .183931) (9 0. Apliquemos el m´todo de Euler para determinar la soluci´n e o num´rica de la ecuaci´n e o y = y 2 xex−y (5.1: Funci´n euler para aproximar la soluci´n a y = f (x.0040657) (3 0. METODOS DE UN PASO 71 C´digo Scheme 5. un paso ( data ’ ( ) ( cons ( l i s t k ( f t 7 x ) ( f t 7 y ) ) data ) ) ) ((> k n ) ( r e v e r s e data ) ) ) ) ) Ejemplo 5. . 0 1 . 3 6 0 0 2 0 5 ) ) > . Las interacciones o con la funci´n euler son las siguientes: o >( e u l e r (lambda( x y ) (∗ ( expt y 2 ) x ( exp (− x y ) ) ) ) 0 1 .082568) (7 0.0130887) (4 0.02818) (5 0.8 1.1.0507423) (6 0.

yi .10) . 734-735) yi+1 = yi + hφ(xi . Dicha aproximaci´n se calcula o o como una combinaci´n lineal de las pendientes en puntos espec´ o ıficos del intervalo.2. yi ) k2 = f (xi + h .1.2: o (5.72 ´ CAP´ ITULO 5. yi + h k1 ) 2 2 k3 = f (xi + h . M´todos de Runge-Kutta e Los m´todos de Runge-Kutta extienden la f´rmula general de los m´todos e o e de un paso (ecuaci´n 5. yi . yi + h k2 ) 2 2 k4 = f (xi + h. SOLUCION DE ECUACIONES DIFERENCIALES 5.2). utilizando el siguiente esquema (ver por ejemplo o [6] pp. M´todo de Runge-Kutta de cuarto orden e Este es uno de los m´todos m´s utilizados. mediante e el c´digo indicado en 5.9) donde φ(xi . ya que resuelve el problema e a de valor inicial con un error del orden O(h4 ) h yi+1 = yi + (k1 + 2k2 + 2k3 + k4 ) 6 donde k1 = f (xi . h) se denomina funci´n incremento y representa una aproxio maci´n de la pendiente del intervalo [xi . xi+1 ]. yi + hk3 ) Podemos implementar el m´todo de Runge-Kutta de orden 4. h) (5.

2. Aplique el m´todo de Euler y el m´todo de Runge-Kutta e e para resolver la ecuaci´n y = 2x + cos(y) con y(0) = 0. METODOS DE PASOS MULTIPLES 73 C´digo Scheme 5.´ ´ 5.1.2. yn−i )] (5. y ) ( define ( runge−kutta −4 f x0 xn y0 h ) ( l e t ∗ ( (m ( / h 2 ) ) ( paso−rk4 (lambda( x y ) ( l e t ∗ ( ( k1 ( f x y ) ) ( k2 ( f (+ x m) (+ y (∗ m k1 ) ) ) ) ( k3 ( f (+ x m) (+ y (∗ m k2 ) ) ) ) ( k4 ( f (+ x h ) (+ y (∗ h k3 ) ) ) ) ) (+ y (∗ ( / h 6 ) (+ k1 (∗ 2 k2 ) (∗ 2 k3 ) k4 ) ) ) ) ) ) ) ( l e t c i c l o ( ( x x0 ) ( y y0 ) ( data ( l i s t ( l i s t x0 y0 ) ) ) ) ( cond ((>= (+ x h ) xn ) ( r e v e r s e data ) ) ( else ( c i c l o (+ x h ) ( paso−rk4 x y ) ( cons ( l i s t ( f t 7 (+ x h ) ) ( f t 7 ( paso−rk4 x y ) ) ) data ) ) ) ) ) ) ) Problema 5.1. y) 2 4 6 8 10 12 14 16 18 . M´todos de pasos m´ ltiples e u Definici´n 5. adaptado de [8]). Experimente y como pare con diferentes par´metros y grafique sus resultados de manera similar a a la figura 5. Llamamos o e u m´todo de pasos m´ltiples o m´todo multipaso para resolver el problema de e u e valor inicial (ver ecuaci´n 5. 5. yn+1 ) + i=0 [ai yn−i + hbi f (xn−i . M’ e to do de Runge−Kutta de orden 4 para y’= f ( x .2: Funci´n runge-kutta-4 para aproximar la soluci´n a o o o y = f (x.1) a un procedimiento de integraci´n dado por o o m−1 yn+1 = hcf (xn+1 .2. .1 (M´todo de pasos m´ltiples.11) .1.

Si c = 0 el m´todo es expl´ e ıcito o abierto. 3] donde m > 1.1. para y(x0 ) = y0 . podemos integrar la ecuaci´n anterior desde xn a xn+1 : o xn+1 xn+1 y dx = xn xn f [x.74 ´ CAP´ ITULO 5. El problema de valor inicial a resolver es: y = f (x. . −3] × [3. . M´todo de Adams-Bashforth e Este es un m´todo abierto ya que yn+1 se determina expl´ e ıcitamente.13) . h = (b − x0 ) y n = m − 1.12) Considerando que estamos en la iteraci´n n y que hemos obtenido la soluci´n o o exacta Yn = y(xn ). . en caso contrario. 5. N − 1. SOLUCION DE ECUACIONES DIFERENCIALES Figura 5. el m´todo es impl´ e ıcito o cerrado. m.2. Es un m´todo de m e 2 2 pasos siempre que am−1 + bm−1 > 0. Y (x)]dx (5. y). x0 ≤ x < b (5.1: Campo direccional para y = 2x + cos(y) y trayectoria para y(0) = 0. . en [−3.

e Dos dos m´todos de Adams-Bashforth m´s utilizados. yn−1 ) 24 + 37f (xn−2 .14) Para estimar la integral de la ecuaci´n anterior. Desarrollando las diferencias divididas en t´rminos de Fn obtenemos la e f´rmula de diferencias regresivas de Newton siguiente: o n pn (x) = k=0 (−1)k (−s) ( k k Fn ) (5. cumple con Fi = Y (xi ) = f [xi . F0 ).18) . . y apl´ ıquelo para determinar las f´rmulas para el o k m´todo de Adams-Bashforth de orden 6 y 7. yn ) − 16f (xn−1 . Construir un programa de computadora para calcular el valor 0 de la integral 1 −s ds.16) ds Proyecto 5. yn ) − 59f (xn−1 .17) 12 con error por truncamiento del orden O(h4 ) M´todo Adams-Bashforth de orden 4: e h yn+1 = yn + [55f (xn . yn−3 )] con error por truncamiento del orden O(h5 ) (5. son los de orden 3 e a y 4. (xn . Fn ) donde Fi = F( xi ). Y (x)]dx (5. 0 ≤ i ≤ n.´ ´ 5. utilizaremos un polinomio o interpolador de Lagrange pn (x) determinado por los puntos (x0 . yn−2 ) − 9f (xn−3 . . yn−1 ) + 5f (xn−2 . los cuales corresponden a las f´rmulas siguientes: o M´todo Adams-Bashforth de orden 3: e h yn+1 = yn + [23f (xn . . Y (xi )].1. . yn−2 )] (5.15) La f´rmula general para el m´todo de Adams-Bashforth de orden m: o e 1 5 yn+1 = yn + h yn + ( yn ) + ( 2 12 donde cm−1 = (−1)m−1 0 1 −s m−1 2 yn ) + · · · + cm−1 ( m−1 yn ) (5.2. METODOS DE PASOS MULTIPLES de donde encontramos: xn+1 75 Yn+1 = Yn + xn f [x.

M´todo de Adams-Moulton e Este es un m´todo cerrado. es necesario que las funciones fi cumplan con la condici´n de Lipschitz o para funciones de varias variables (ver [5] pp. SOLUCION DE ECUACIONES DIFERENCIALES 5. y2 . .20) con error por truncamiento del orden O(h6 ) 5. yn−1 ) + 106f (xn−2 . 313-314) .76 ´ CAP´ ITULO 5. . yn−3 )] (5. yn ). yn+1 ) + 19f (xn . .0 .1 (Problema de valor inicial generalizado). yn−2 )] (5. . yn ) 24 − 5f (xn−1 . yn ) 720 − 264f (xn−1 . e o Presentamos las f´rmulas asociadas a los m´todos de Adams-Moulton o e orden 3 y 4: M´todo Adams-Moulton de orden 3: e yn+1 = yn + h [9f (xn+1 . y1 .2. Sistemas de ecuaciones diferenciales ordinarias Los m´todos descritos en las secciones previas para resolver el problema e de valor inicial (ecuaci´n 5.3.19) con error por truncamiento del orden O(h5 ) M´todo Adams-Moulton de orden 4: e yn+1 = yn + h [251f (xn+1 . para un sistema de ecuaciones diferenciales de primer orden. x0 ≤ x ≤ b (5. yn+1 ) + 646f (xn . yn−2 ) − 19f (xn−3 . o yi = fi (x. La t´cnica para obtener las f´rmulas es similar al caso de Adams-Bashforth.1) se generalizan de forma directa para resolver el o problema de valor inicial generalizado.21) Para demostrar la existencia y unicidad de la soluci´n al problema anteo rior. yn−1 ) + 2f (xn−2 .3. ya que yn+1 se determina impl´ e ıcitamente. Definici´n 5.2. yi (x0 ) = yi.

o e Aplicaci´n 5.n ). Aplicaciones Aplicaci´n 5. y2.0 y y2 (x0 ) = y2.3 (Ecuaciones de Lorenz: un modelo de convecci´n).2 (Convergencia vs errores). e Proyecto 5. De manera similar podemos desarrollar las ecuaciones para el caso del m´todo de Runge-Kutta de orden 4. Trefethen [26. p.n + hf2 (xn .n . ambos con respecto al valor de h. Considere las diferencias en ´nfasis e entre los ´rdenes en la velocidad de convergencia de los m´todos.0 . o o . 11].5.4.1 (Redes de circuitos el´ctricos). y2. con las condiciones iniciales y1 (x0 ) = a y1. y2.n+1 = y2.n ). Sugerencia: Consulte el excelente ensayo de Lloyd N.n . n≥0 n≥0 (5. y el orden de o e los errores por truncamiento. y2.2 (Simulaci´n de un p´ndulo). 5.4. y1. a resolver por el m´todo de Euler: e y1.n + hf1 (xn .n+1 = y1. APLICACIONES 77 Consideremos el caso de un sistema de dos ecuaciones. o o e Aplicaci´n 5.22) El proceso de realiza de forma simult´nea.

78 ´ CAP´ ITULO 5. SOLUCION DE ECUACIONES DIFERENCIALES .

L. Aberth. ACM. Shub. 1996. Cambridge University Press. Goldberg. Computational Mathematics. 1929) a [4] L. Sussman. M´todos num´ricos para ingenieros: con e e programas de aplicaci´n. 2/e. M. The Nature of Mathematical Modeling. Canale. An´lisis num´rico. Maron. Inc. MIR Publishers. C´lculo diferencial e integral. Thomson a e o Learning. MIT Press. 2008 [3] S. 2003 o [7] B. 7ma. New York. S. J. 1973 u [8] M. Editorial Limusa. con J. C. 1996 (original en polaco. P. Introduction to Precise Numerical Methods. Abelson. 1999 [10] D. Disponible electr´nicamente en http://mitpress. Burden. Fundamentals of Computer Numerical Analysis. Cucker. Banach. I. Structure and Interpretation of Computer Programs. R. F. Kandel. Blum. 4/e McGraw-Hill Interamericana. Friedman. Computing Reviews. Mosc´. A. D. A. Serie Matem´ticas. G. edici´n.Bibliograf´ ıa [1] H.edu/sicp/ o [2] X. Gershenfeld. Springer-Verlag. Smale. Demidovich. P. 2002 [6] S. What every computer scientist should know about floating point arithmetic. CRC Press. march 1991 79 . 1998 [5] R. Complexity and Real Computation. Chapra. J. Sussman. Colecci´n de Textos Polit´cnia o e cos. 1994 [9] N. Faires. Academic Press.mit.

Moler. Prentice-Hall. Dover. E. Introduction to MATLAB with Numerical Preliminaries.html [19] Numerical Analysis Digest http://www. Addison-Wesley Publ. Knuth. Numerical Methods for Scientists and Engineers. Kurtis D. Cleve’s Corner. Inc. Graham. 5/e. 2/e. Disponible en http://www. Disponible en: http://docs. 1994 [12] R. L. Addison-Wesley Publ. Disponible en: planet. M´todos Num´ricos con MATLAB.com/app/docs/doc/802-5692/. Patashnik.netlib. Co. Hamming. Stanoyevitch. Floating points:IEEE Standard unifies arithmetic model. W.com/moler/index. 1992 [15] D. Mathematics Dictionary. A First Course in Numerical Mathematics..02. E.sun.. Ralston.org [21] PLaneT Package Repository.80 BIBLIOGRAF´ IA [11] R. IEEE Standard for Binary Floating Point Arithmetic. Moler.org. O. N. IEEE Std 754-1985 [14] James y James.Y. Co.. Dover. 2/e.com/company/newsletters/news notes/ pdf/Fall96Cleve. e e 3/e. 2001 [23] A.22 .plt-scheme.org/na-net [20] Numerical Mathematics Consortium http://www. Knuth. Disponible en: http://www. 2005 [24] Sun Microsystems Numerical computation guide.nmconsortium. Numerical Computing with MATLAB.pdf [18] C. Van Nostrand Reinhold. Fink. Mathews.mathworks. D. 1986 [13] IEEE Computer Society. Volume 2: Seminumerical Algorithms. John Wiley & Sons. 1981 [16] John H. 2000 [17] C. Consultado 2008. The Art of Computer Programming. 2/e. Rabinowitz. Concrete Mathematics: A foundation for computer science. [22] A. 2/e.mathworks. P.

Teach yourself Scheme in fixnum days. Auto-validating numerical methods. A ser incluido en: W.neu.ox. 1998-2001.trefethen/publication/ PDF/2006 117. Documento disponible en: http://www.uk/people/nick.BIBLIOGRAF´ IA 81 [25] D. Princeton Companion to Mathematics.math.ccs. Disponible en: http://www. Trefethen. Tucker. Disponible en: http://www. 2008.pdf . Princeton U.pdf. Sitaram.edu/home/dorai/t-y-scheme/t-y-scheme. Numerical Analysis.se/∼warwick/summer04/info. Consultado 2008..08.07 [27] W. Gowers.html [28] Gerhard Wanner Germund Dahlquist’s Classical Papers on Stability Theory. Press.comlab. Disponible en: http://www.ch/∼wanner/DQsem. T. 2004.html [26] Lloyd N.uu. ed. Curso de verano.ac.unige.

82 BIBLIOGRAF´ IA .

. . . . . . . . . . . . . . . . .2. . e M´todo de Newton-Raphson para sistemas . .3. . .1. e o M´todo de punto fijo . . . 2. 2. . e M´todo de Newton-Raphson est´ndar . . . . .6) a M´todo de punto fijo para sistemas . . . .1.7. 3. . . . . . . . . . . . . 2. . . e M´todo de Bairstow (requiere: algoritmo 2.7) . . e a M´todo de la secante . . M´todo de bisecci´n .5. . .6. . . . . . . . . . . . . . . . 2. . . . . e . . . . . . . . . . . . . . . . . . .2. . .4. . . . . . . . . . . . . . . . 26 32 36 38 39 42 43 49 50 83 . e Factor cuadr´tico para Bairstow (algoritmo 2. . . . . . . . . . . . . . 2. . . . .´ Indice de Algoritmos 2. . 2. . . . e M´todo de Aitken . . . . . . . . . . . . . . . . . 3. . . .

84 ´ INDICE DE ALGORITMOS .

4 . .1. . . . . . . . . . 4. 8 22 27 28 33 34 37 58 61 63 71 . o o Funci´n runge-kutta-4 para aproximar la soluci´n a y o o f (x. . . = .2. . . o e Funci´n para calcular f (x0 ) seg´n ecuaci´n 4. 2. 5. . . . y) . . . o Funci´n para el m´todo de Romberg . y) .1 . .1 . . .2 . . . . . o e Funci´n euler para aproximar la soluci´n a y = f (x. . . o u o Funci´n para la regla compuesta de Simpson . .´ Indice de c´digo Scheme o 1. . 4. o Funci´n crea-mit para crear una m´quina iterativa b´sica o a a Funci´n biseccion asociada al algoritmo 2. .4. . . .1. 2. 73 85 . .2. . . Funci´n real->ieee-doble . . . 2. . 1. . 5.3. . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . .3. . . 2. .2. . . . . . . . . . o Funci´n punto-fijo asociada al algoritmo 2. .1. . . . . . . . . . . . . . . . . . . . .2. o Funci´n biseccion-data asociada al algoritmo 2. . . . . . . . o Funci´n para el m´todo de Newton-Raphson . . .5. .2 . . .1. 2. . o Funci´n punto-fijo-data asociada al algoritmo 2. . . . . .

86 ´ ´ INDICE DE CODIGO SCHEME .

. . . . 29 4. . . . . . 12 1. . . . . . . .2 . 3] . . . −3] × [3.´ Indice de figuras 1.1. . . 74 87 . . .2. . . . Bisecciones para el ejemplo 2.1. . . . . . . . . . . al utilizar o n´meros racionales . .1. . . . . . . . . . Campo direccional para y = 2x + cos(y) y trayectoria para y(0) = 0. . . .2. . . . . . . . . . . . . . . . . . . . 54 o a 5. . 13 u 2. . . . Ejemplo de eliminaci´n del error por redondeo. . . . .1. . . . en [−3. . Ejemplo de error por redondeo . . . . . . . . . . Estimaci´n b´sica de una derivada .

88 ´ INDICE DE FIGURAS .

. . . . . . . . . . . Ejemplo comparativo para la derivada de f (x) = ex . . . . . . .´ Indice de tablas 1. . . . . . . .5.2. . . . F´rmulas de diferencias centradas de orden O(h2 ) para derivadas o F´rmulas de diferencias centradas de orden O(h4 ) para derivadas o Nodos y pesos para cuadratura gaussiana . 4. .4. 6 55 56 57 57 65 89 . Precisi´n en Formatos IEEE 754 . . . . .3.1. o 4. . 4. .1. . 4. Ejemplo comparativo para la derivada de cot(x) . . . 4. . .

90 ´ INDICE DE TABLAS .

9 iteraci´n o de Newton-Raphson univariable. 20 iterativo. 5 punto flotante normalizado. 5 precisi´n. 58 directo. 53 o e diferencias f´rmula de cinco puntos. 6 error absoluto. 17 e por redondeo. 9 num´rico total. 20 incertidumbre. 56 o DrScheme. 39 cerrado. 57 o diferenciaci´n num´rica. software. 57 o f´rmula de tres puntos. 25 de punto fijo. 61 de Runge-Kutta. 11 por truncamiento. 31 derivaci´n o f´rmulas de orden O(h2 ). 13 relativo. 64 de intervalo. 3 computaci´n confiable. 5 punto flotante. 25 de cuadratura gaussiana. 18 35 bibliotecas de funciones (Libraries). 6 o punto fijo. 57 o f´rmulas de orden O(h4 ). 9 Bairstow. 9 sesgo. 72 de Runge-Kutta de cuarto orden. 30 a n´meros u binarios de punto flotante normalizado. 72 de Simpson. 59 del trapecio. 19 91 . 31 orden de. 20 factor de. 20 iterativo est´ndar.´ Indice alfab´tico e cifras significativas. 25 o convergencia criterio de. 9 Scheme. 30 de Romberg. 6 intervalos. 17 acceso libre. 6 19 m´todo e comercial. MATLAB.

92 teorema de Bolzano. 26 de Taylor. 14 ´ ´ INDICE ALFABETICO .

Sign up to vote on this title
UsefulNot useful