Está en la página 1de 151

RESUMEN DE LAS CLASES DE

ANLISIS NUMRICO
ndice general
Prlogo v
1. Errores en los mtodos numricos 1
1.1. Una denicin de Anlisis Numrico . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. El concepto y las fuentes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2. Concepto de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3. Fuentes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Error absoluto y error relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Propiedades de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1. Error inherente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.2. Error de redondeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.3. Error de truncamiento/discretizacin . . . . . . . . . . . . . . . . . . . . . 12
1.5.4. Errores por overow y underow . . . . . . . . . . . . . . . . . . . . 14
1.6. Propagacin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.1. Propagacin del error inherente . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6.2. Propagacin del error de redondeo . . . . . . . . . . . . . . . . . . . . . . 16
1.6.3. Propagacin de los errores inherentes y de redondeo . . . . . . . . . . . . 16
1.7. Grca de proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8. Perturbaciones experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8.1. Estimacin del nmero de condicin . . . . . . . . . . . . . . . . . . . . . 18
1.8.2. Estimacin del trmino de estabilidad . . . . . . . . . . . . . . . . . . . . 20
1.9. Inestabilidad en los algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.9.1. Cancelacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.9.2. Acumulacin del error de redondeo . . . . . . . . . . . . . . . . . . . . . . 22
1.9.3. Aumento de la precisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.10. Diseo de algoritmos estables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2. Sistemas de Ecuaciones Lineales 25
2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Deniciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3. Matrices triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4. Eliminacin de Gauss y sustitucin inversa . . . . . . . . . . . . . . . . . . . . . . 27
2.5. Factorizacin LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6. Mtodo de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6.1. Matrices simtricas y denidas positivas . . . . . . . . . . . . . . . . . . . 32
2.6.2. Algoritmo de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7. Condicin de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8. Renamiento iterativo de la solucin . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9. Errores de los mtodos directos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
i
NDICE GENERAL Anlisis Numrico I
2.10. Mtodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.10.1. Mtodos estacionarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.10.2. Convergencia de los mtodos estacionarios . . . . . . . . . . . . . . . . . . 43
2.10.3. Mtodos no estacionarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.10.4. Convergencia de los mtodos no estacionarios . . . . . . . . . . . . . . . . 50
2.10.5. Aspectos computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.11. Errores de los mtodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.12. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3. Ecuaciones no Lineales 57
3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2. Mtodo de la biseccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3. Mtodo de la falsa posicin o regula falsi . . . . . . . . . . . . . . . . . . . . . 59
3.4. Mtodo de las aproximaciones sucesivas o punto jo . . . . . . . . . . . . . . . . 59
3.5. Mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.6. Anlisis del error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.7. Mtodos de convergencia acelerada . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.8. Mtodo de Steensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.9. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4. Interpolacin de curvas 69
4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2. Mtodo de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3. Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4. Interpolacin baricntrica de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5. Interpolacin de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.6. Interpolacin por splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.7. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5. Mejor aproximacin y ajuste de funciones 87
5.1. Mejor aproximacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.2. Error y normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.1.3. Mtodo de los cuadrados mnimos . . . . . . . . . . . . . . . . . . . . . . 89
5.2. Ajuste de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.2. Aproximacin por mnimos cuadrados . . . . . . . . . . . . . . . . . . . . 93
5.2.3. Polinomios de Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.3. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6. Diferenciacin e integracin numrica 99
6.1. Diferenciacin numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1.1. Diferencias progresivas, regresivas y centradas . . . . . . . . . . . . . . . . 99
6.1.2. Aproximacin por polinomios de Taylor . . . . . . . . . . . . . . . . . . . 103
6.1.3. Extrapolacin de Richardson . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.1.4. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2. Integracin numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2.1. Frmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2.2. Frmulas cerradas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . 110
6.2.3. Frmulas abiertas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . 119
6.2.4. Cuadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.2.5. Integrales mltiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
- ii - PRELIMINAR Curso 008
Anlisis Numrico I ndice general
6.3. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7. Ecuaciones diferenciales ordinarias 125
7.1. Ecuaciones diferenciales ordinarias con valores iniciales . . . . . . . . . . . . . . . 125
7.1.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.1.2. Condicin de Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.1.3. Problema bien planteado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.1.4. Mtodos de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.1.5. Mtodos de Taylor de orden superior . . . . . . . . . . . . . . . . . . . . . 130
7.1.6. Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.1.7. Mtodos de paso mltiple . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.2. Ecuaciones diferenciales ordinarias con valores de contorno . . . . . . . . . . . . . 135
7.2.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7.2.2. Mtodo del tiro o disparo lineal . . . . . . . . . . . . . . . . . . . . . . . . 137
7.2.3. Diferencias nitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
7.3. Mtodo de los elementos nitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.4. Notas nales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Curso 008 PRELIMINAR - iii -
Anlisis Numrico I 0. Prlogo
Prlogo
Esto no pretende ser un libro sobre Anlisis Numrico ni algo que se le parezca. Simple-
mente es un resumen, incompleto, de las clases dadas en el mbito de la Facultad de Ingeniera,
durante los aos 2005 y 2006, orientadas originalmente a la parte prctica y luego reconvertidas
como clases tericas durante el primer cuatrimestre de 2007.
El objetivo es dar una gua de los temas y enfocar a los alumnos en las cuestiones ms
importantes del Anlisis Numrico que suelen aplicarse en el mbito de la ingeniera. No intenta
ser un manual ni un libro de texto, sino simplemente servir como ayuda-memoria a la hora de
repasar lo visto en clase. Textos y libros existen por doquier y algunos de ellos se reeren en la
bibliografa, a los cuales no busca reemplazar. Es ms, muchas de las demostraciones se deben
buscar en esos textos.
Al mismo tiempo, algunos temas que no suelen incluirse en los libros tradicionales se han
desarrollado con mayor o menor fortuna. Dos ejemplos de ello son el Mtodo de Interpolacin
Baricntrica de Lagrange, una forma alternativa de construir los polinomios interpolantes de
Lagrange, y una aproximacin al Mtodo de los Gradientes Conjugados para resolver sistemas
de ecuaciones lineales en forma iterativa. El primero de ellos no gura en ningn libro conocido
y es una interesante alternativa para desarrollar en una computadora, tal como reeren quienes
publicaron el mtodo, los matemticos Jean-Paul Berrut (Dpartment de Mathmatiques, Uni-
versit de Fribourg) y Lloyd N. Trefethen (Computing Laboratory, Oxford University).
El segundo, en realidad, aparece en varios libros dedicados al mtodo de los elementos
nitos, pero no siempre en los textos de Anlisis Numrico. Por ejemplo, recin en la sptima
edicin del libro Anlisis Numrico de Burden & Faires se lo incluye como parte importante
del libro. En otros textos ni siquiera se menciona, a pesar de ser uno de los mtodos iterativos
ms importante para resolver sistemas ralos de ecuaciones lineales, sobre todo en los ltimos
aos, gracias al desarrollo de las computadoras personales. Para las clases, tanto tericas como
prcticas, la base que se us es la publicada por Jonathan Richard Shewchuk (School of Computer
Science, Carnegie Mellon University), que es de libre disponibilidad en la web, y muy buena desde
el punto de vista de la interpretacin y comprensin del mtodo.
El resto de los temas corresponde a los que tradicionalmente se dan en los cursos de
Anlisis Numrico I de la facultad y en la mayora de los cursos anes en Argentina y el resto
del mundo.
Finalmente, este resumen no sera posible sin la ayuda de todos los docentes que han
intervenido e intervienen en el curso 008 de Anlisis Numrico I de la Facultad de Ingeniera de
la Universidad de Buenos Aires. Sus observaciones y crticas a las clases prcticas y tericas han
servido para delinear los temas y tratar de lograr la mejor manera de explicarlos. Espero haberlo
conseguido.
Rodolfo A. Schwarz, Buenos Aires, agosto de 2007.
Curso 008 PRELIMINAR - v -
Anlisis Numrico I 1. Errores en los mtodos numricos
Captulo 1
Errores en los mtodos numricos
1.1. Una denicin de Anlisis Numrico
Es usual que el anlisis numrico est asociado estrictamente a la siguiente denicin
general: Es el estudio de los errores de redondeo. De acuerdo con Lloyd Trefethen (vase [12]),
profesor en la universidad de Oxford, esta denicin es errnea. Entiende que si esta percepcin
es correcta, resulta poco sorprendente, entonces, que el anlisis numrico sea visto como una
asignatura aburrida y tediosa. Es cierto que los errores de redondeo son inevitables, y que su
anlisis es complejo y tedioso, pero no son fundamentales. Al analizar varios libros dedicados
al tema, encuentra que los captulos iniciales siempre estn referidos al error de redondeo o
sus temas asociados: precisin, exactitud, aritmtica nita, etc. Veamos algunos ejemplos de la
bibliografa disponible en espaol:
Burden & Faires, Mtodos Numricos (2005): 1. Preliminares matemticos y anlisis del
error.
Gonzlez, Anlisis Numrico, primer curso (2002): 1. Errores en el clculo numrico.
Curtis & Wheatley, Anlisis numrico con aplicaciones (2002): 0. Clculo numrico y com-
putadoras (0.5 Aritmtica por computadoras y errores).
Nakamura, Mtodos numricos aplicados con software (1992): 1. Causas principales de
errores en los mtodos numricos.
Ramrez Gonzlez y otros, Clculo Numrico con Mathematica (2005): 1. Introduccin al
Clculo Numrico. Errores.
Maron & Lopz, Anlisis Numrico, un enfoque prctico (1998): 1. Algoritmos, errores y
dispositivos digitales.
Quintana y otros, Mtodos numricos con aplicaciones en Excel (2005): Captulo 1. Deni-
cin de error.
Esto ayuda a que los alumnos tengan una percepcin equivocada del objeto principal de
la materia. Para evitar esto, Trefethen propone una denicin alternativa:
Anlisis numrico es el estudio de los algoritmos para resolver problemas de la matemti-
ca continua.
Para l la palabra clave es algoritmo. De hecho, en Wikipedia podemos encontrar esta
denicin:
Curso 008 PRELIMINAR - 1 -
1.2. El concepto y las fuentes de error Anlisis Numrico I
El anlisis numrico es la rama de la matemtica que se encarga de disear algoritmos
para, a travs de nmeros y reglas matemticas simples, simular procesos matemticos
ms complejos aplicados a procesos del mundo real ;
cuya referencia es justamente, Lloyd (Nick) Trefethen! Y, segn l, el principal objetivo del
anlisis numrico es disear algoritmos para aproximar valores desconocidos (no lo conocido de
antemano), y hacerlo en forma rpida, muy rpida.
Por esa razn, este captulo tiene por objeto desmiticar la inuencia de los errores al
aplicar mtodos numricos, y en particular, la inuencia del error de redondeo como fuente
bsica de los problemas en la utilizacin de algoritmos para resolver problemas matemticos,
an cuando la existencia de los mismos debe llevar a tenerlos en cuenta en determinados casos
en los que no se los puede soslayar. Para ello, empezaremos viendo los errores que intervienen en
cualquier procedimiento o clculo numrico.(Para un anlisis ms detallado acerca del estudio
de los errores y la estabilidad de los algoritmos, vase [5].)
1.2. El concepto y las fuentes de error
1.2.1. Introduccin
Tal como dijimos en la denicin de anlisis numrico, su objetivo principal no es analizar
en detalle los errores que intervienen en el cmputo de cantidades. Pero s es uno de los pun-
tos en los cuales cualquier matemtico (o de otra rama de la ciencia o tecnologa asociada a
la matemtica) que se dedique a desarrollar algoritmos deber ser un especialista en el tema.
Por qu? Simplemente, porque sus algoritmos sern utilizados para resolver problemas que se-
guramente no tengan una solucin analtica o que la obtencin de esa solucin est fuera de los
alcances del usuario de ese algoritmo. Por ejemplo, es usual que los ingenieros utilicen programas
que resuelven estructuras por el mtodo de los elementos nitos para dimensionar determinadas
piezas o establecer las formas denitivas de las mismas, afn de optimizar el uso de los materiales
o para darle ciertas caractersticas especiales a la estructura. Si bien es posible que varios de
esos problemas puedan ser resueltos con modelos analticos, lo ms probable es que esos modelos
analticos slo tengan una denicin general (an cuando sea compleja) en forma de ecuaciones
diferenciales o de sistemas de ecuaciones diferenciales, tanto ordinarias como en derivadas par-
ciales. An cuando existen mtodos de resolucin analticos (simblicos) para las ecuaciones
diferenciales, las condiciones de borde de un problema particular puede hacer intil la bsque-
da de soluciones analticas o simblicas. Por lo tanto, el nico camino viable para obtener una
respuesta al problema planteado es la aplicacin de un mtodo numrico.
Y si no contamos con una solucin analtica, cmo sabremos si los resultados obtenidos
sirven? Esta es una de las razones por las cuales los analistas numricos deben ocuparse de
analizar qu tipos de errores afectan a los algortimos que desarrollan y hasta qu punto son
responsables de los posibles errores en los resultados que se obtendrn por aplicaciones de los
mismos. Pero debe tenerse en cuenta que, por otro lado, estos algoritmos deben ser adems
rpidos (de convergencia rpida) y que sern aplicados en computadoras, algo que no suele
remarcarse con debida propiedad, que, por supuesto, estn sometidas a limitaciones propias.
El problema de los errores en los clculos no es propiedad del siglo XX (o XXI) y de
los que sigan. Desde los inicios de la matemtica y de las ciencias asociadas, es un problema
que interes e interesa a todos los involucrados. Como ejemplo, tomemos un tpico mtodo de
interpolacin que se ensea en cualquier curso, el de los polinomios de Lagrange. La frmula para
- 2 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
obtener los polinomios es:
P
n
(x) =
n

j=0
f
j
l
j
(x); l
j
(x) =
n

k=0
k=j
(x x
k
)
n

k=0
k=j
(x
j
x
k
)
(1.1)
El propio Lagrange adverta en su poca, que su mtodo no era totamente conable,
pues muchas veces los resultados obtenidos no eran correctos. De todos modos, el mtodo suele
estudiarse como una herramienta terica a pesar de que tiene las siguientes desventajas:
1. Cada evaluacin de p(x) requiere O(n
2
) sumas/restas y multiplicaciones/divisiones.
2. Aadir un nuevo par de datos x
n+1
; f
n+1
requiere recalcular todo de cero.
3. El clculo es numricamente inestable.
En tanto que las dos primeras se reeren a la eciencia del algoritmo para obtener el
polinomio, la ltima est estrictamente relacionda con los errores que pueden aparecer por las
operaciones de clculo involucradas en el procedimiento. Esto ltimo se hizo muy evidente al uti-
lizar las computadoras como elemento de clculo. En consecuencia, para analizar cuan inestable
(y/o mal condicionado) es el algoritmo, debemos analizar cmo se propagan los errores. Veremos
a continuacin el concepto y la denicin de lo que denominamos error.
1.2.2. Concepto de error
La palabra error suele llevar a interpretaciones confusas segn quien la exprese. En el
lenguaje coloquial de uso diario, el concepto de error est relacionado con falla o mal hecho.
Una expresin como el error fue ... suele asociarse con la causa que produjo un resultado no
aceptable o equivocado, y que por lo tanto, debe ser evitado o enmendado para que al hacer de
nuevo el clculo (o cualquier otra cosa), el resultado obtenido sea aceptable o correcto.
En cambio, en el mbito del anlisis numrico (y en general, en las ciencias e ingeniera), el
trmino error est relacionado especcamente con la incertidumbre de los datos de ingreso como
de los resultados obtenidos, sin que esto signique que los resultados sean equivocados. Dicho de
otra manera, no pone en duda la conabilidad del mtodo en s, sino que analiza el grado de
incertidumbre de los valores numricos. En la ingeniera esto es de particular relevancia, puesto
que los datos que utilizamos provienen de mediciones en campo, estimaciones probabilsticas,
hiptesis y modelos matemticos simplicados, o de la experiencia profesional. Rara vez se cuenta
con datos con validez exacta. Sin embargo, si una leve modicacin de estos datos produce
resultados considerablemente diferentes que no reejan la realidad, estamos ante la presencia
de un problema que s puede objetar el procedimiento utilizado. Es decir, el procedimiento es
inestable o mal condicionado, conceptos diferentes.
Para analizar cuan conable es un procedimiento o algoritmo, se vuelve necesario el
estudio de los errores que afectan los clculos y las operaciones que intervienen en dicho algoritmo,
y cmo se propagan hasta afectar los resultados que ste entrega.
1.2.3. Fuentes de error
Las fuentes de error que analizaremos son las siguientes:
Error inherente: Es el error de los datos de entrada que puede estar dado por la precisin
en la medicin de los datos, por la representacin numrica, por provenir de clculos previos,
etc.
Curso 008 PRELIMINAR - 3 -
1.3. Error absoluto y error relativo Anlisis Numrico I
Error de redondeo/corte: Es el error debido estrictamente a la representacin numrica
utilizada y est asociado a la precisin usada en los clculos, generalmente una calculadora
o una computadora.
Error de truncamiento/discretizacin: Es el error que aparece al transformar un pro-
cedimiento innito en uno nito, por ejemplo, transformar una serie de innitos trminos
en una funcin nita, o de usar una aproximacin discreta para representar un fenmeno
continuo.
Error del modelo matemtico: Es el debido a las simplicaciones e hiptesis introduci-
das para denir el modelo matemtico que representa el problema fsico.
Error humano y/o de la mquina: Es el error que se produce por la intervencin
humana, ya sea por una mala transcripcin o interpretacin incorrecta de los datos origi-
nales, por programas de computacin mal hechos y/o fallas en el diseo, implementacin
o conguracin de programas o computadoras.
La ltima fuente de error suele ser asociada al concepto coloquial de error. Desde la
ptica del anlisis numrico, los dos ltimos errores estn fuera de su alcance, si bien no deben
ser despreciados a la hora de evaluar los resultados obtenidos, en particular, el debido al modelo
matemtico.
1.3. Error absoluto y error relativo
Empezaremos por analizar las frmulas ms sencillas de error. Supongamos que obte-
nemos de alguna forma (por ejemplo, una medicin) cierto valor m. Sabemos que el valor exacto
de dicho valor es m. Como conocemos ese valor m podemos denir dos tipos de errores:
1. Error absoluto: e
a
= m m;
2. Error relativo: e
r
=
m m
m
=
e
a
m
(siempre que m ,= 0).
Generalmente, el error relativo es una medida mucho ms representativa del error, espe-
cialmente cuando [m[ >> 1. Cuando [m[ 1, entonces ambos errores coinciden. En la prctica
suele ser poco probable conocer el valor m, por lo que no podemos calcular e
a
ni e
r
. Entonces,
cmo sabemos qu error estamos teniendo? Si no conocemos la solucin del problema pareciera
que no hay forma de saberlo.
Partamos de no conocer m y de que el valor m fue obtenido por medicin usando un
instrumento cuya precisin
1
es e
m
(por error de medicin). Si tomamos el concepto de error
absoluto podemos obtener una idea del valor de m. En efecto, tenemos que:
e
m
= e
a
= m m m = m+e
a
;
que podemos generalizar a:
e
m
= e
a
= m m m = me
a
;
si tenemos en cuenta que el valor de e
a
puede ser positivo o negativo. As, una forma ms general
de escribir el error absoluto y el relativo es:
1. [e
a
[ = [m m[;
2. [e
r
[ =

m m
m

=
[m m[
[m[
=
[e
a
[
[m[
.
1
En este caso, precisin se reere a la unidad ms chica que el instrumento puede medir.
- 4 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
Como hemos supuesto que e
a
= e
m
, sabemos cual es nuestro error absoluto, pero seguimos
sin saber cul es nuestro error relativo. Tenemos dos posibilidades para obtener m:
m = m+e
a
o m = me
a
,
y entonces el error relativo sera:
e
r
=
e
a
m+e
a
o e
r
=
e
a
me
a
[e
r
[ =
[e
a
[
[ m+e
a
[
o [e
r
[ =
[e
a
[
[ me
a
[
.
Resulta, entonces, ms conveniente denirlo como:
e
r
=
[e
a
[
[ m[
,
cuando se conoce m y e
a
.
1.4. Propiedades de los algoritmos
Hemos dicho que el anlisis numrico se ocupa de estudiar algoritmos para resolver pro-
blemas de la matemtica continua. Dado que estos algoritmos son una aproximacin al problema
matemtico, resulta evidente que los resultados obtenidos estarn afectados por alguno de los
errores mencionados. Y cmo en muchas ocasiones los datos de entrada de ese algoritmo tambin
tienen errores, la pregunta que surge inmediatamente es: cmo sabemos si los resultados que
arroja el algoritmo son conables? La pregunta no tiene una nica respuesta, depende del tipo
de error que analicemos o que tenga mayor inuencia y de las caractersticas del problema
matemtico. Pueden tenerse varias aproximaciones acerca de un algoritmo, a saber:
1. Una primera aproximacin a una respuesta sera analizar cuan sensible son los resultados
que arroja un algoritmo cuando los datos de entrada se modican levemente, o sea, cuando
sufren una perturbacin. Un anlisis de este tipo tiene dos formas ser encarado, por un
lado, estudiando la propagacin de errores (en ingls, forward error), es decir, perturbar
los datos de entrada y ver qu consecuencia tiene en el resultado. Pero tambin se puede
estudiar de manera inversa, partir de una perturbacin en los resultados, y analizar que
grado de perturbacin pueden sufrir los datos de entrada, metodologa que se conoce como
anlisis retrospectivo (en ingls, backward error). En ambos casos estamos estudiando la
inuencia del error inherente.
2. Una segunda aproximacin puede ser analizar el algoritmo con diferentes representaciones
numricas en los datos de entrada y estudiar qu ocurre con los resultados, utilizando la
misma representacin. Este caso estudiamos la incidencia del error de redondeo.
3. Finalmente, y tal vez el ms sencillo de todos, una aproximacin puede ser analizar qu
ocurre cuando se requiere truncar un procedimiento o discretizar el dominio de nuestro
problema matemtico. Este tipo de anlisis puede que requiera solamente de un trabajo
algebraico ms que numrico, aunque suele mezclarse con el error de redondeo.
El primer caso, el anlisis de la propagacin de los errores inherentes, permite establecer
si el problema est bien o mal condicionado. Si al analizar un pequeo cambio en los datos (o
perturbacin) el resultado se modica levemente (o tiene un pequeo cambio) enonces estamos
ante un problema bien condicionado. Si, por el contrario, el resultado se modica notablemente
o se vuelve oscilante, entonces el problema est mal condicionado. Si ste fuera el caso, no hay
forma de corregirlo cambiando el algoritmo (como se ver despus) pues el problema est en el
modelo matemtico.
Curso 008 PRELIMINAR - 5 -
1.4. Propiedades de los algoritmos Anlisis Numrico I
Denicin 1.1. Un problema matemtico (numrico) se dice que est bien condicionado si pe-
queas variaciones en los datos de entrada se traducen en pequeas variaciones de los resultados.
Observacin 1.1.1. Un problema mal condicionado puede ser resuelto con exactitud, si real-
mente es posible, solamente si se es muy cuidadoso en los clculos.
Observacin 1.1.2. Si f representa al algoritmo real y f

al algoritmo computacional, y
x a la variable real y x

a la variable computacional, entonces el error en los resultados se


puede denir como:
[f(x) f

(x

)[ [f(x) f(x

)[
. .
condicin
+[f(x

) f

(x)[
. .
estabilidad
+[f

(x) f

(x

)[
. .
truncamiento
.
Veremos ms adelante que las pequeas variaciones en los datos de entrada estn
asociadas al problema en cuestin. No es posible a priori denir cuantitativamente cuando
una variacin es pequea y cuando no lo es. El anlisis de los errores inherentes es importante
para establecer la sensibilidad del modelo numrico a los cambios en los datos, puesto que rara
vez los datos de entrada estn exentos de error.
El segundo caso es el que suele ser un dolor de cabeza para los analistas numricos. Si
analizamos un algoritmo ingresando los datos con diferentes representaciones numricas, esto es,
con diferente precisin, y los resultados no cambian demasiado (salvo por pequeas diferencias
en los decimales), entonces estamos en presencia de un algoritmo estable. Caso contrario, el
algoritmo es inestable.
El ltimo caso est asociado a procedimientos o algoritmos basados en series o iteraciones
innitas, y suelo combinarse con alguno de los otros errores, como veremos ms adelante. En
consecuencia, lo que debe buscarse de un algoritmo es que sea estable. Qu signica esto en
la prctica? Supongamos (una vez ms, supongamos) que E
n
mide un cierto error cometido en
el paso n de un algoritmo. Podemos expresar este error en funcin del error inicial, que puede
tener una de estas dos expresiones:
1. Error con crecimiento lineal: E
n
c n E
0
2. Error con crecimiento exponencial: E
n
c
n
E
0
Es evidente que el primer error es controlable, en tanto que el segundo, no. Puesto que
es imposible que no haya errores al trabajar con un algoritmo, lo que se debe buscar es que el
error siga una ley lineal (como en el primer caso) y no una ley exponencial. A partir de esta
comprobacin se desprende la siguiente denicin:
Denicin 1.2. Un algoritmo se considera estable cuando la propagacin de los errores de
redondeo es lineal o cuasi-lineal.
En cambio, un algoritmo que propaga los errores en forma exponencial es inestable.
Una de las razones principales de analizar la propagacin de los errores de redondeo
es conseguir que un algoritmo sea estable. Sin embargo, debemos tener bien presente que un
algoritmo estable en ciertas condiciones puede volverse inestable en otras, por lo que muchas veces
no existe el algoritmo universal. Dado que la estabilidad (o la inestabilidad) es una propiedad
exlusiva del algoritmo, si un problema se vuelve inestable podemos, muchas veces, corregirlo
cambiando el algoritmo inestable por otro estable. (Sin embargo, nunca hay que olvidar que un
problema puede volverse mal condicionado para determinadas condiciones de base, lo que hace
ms complejo el anlisis.)
Veamos un ejemplo que muestra la inestabilidad de un algoritmo. Tomemos la siguiente
integral denida:
y
n
=
_
1
0
x
n
x + 10
dx;
- 6 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
Figura 1.1: Curvas de las distintas funciones.
con n = 1; 2; . . . ; 34.
Es fcil ver que las primeras integrales analticas son relativamente fciles de obtener (por
ejemplo, para n = 1 o n = 2). En efecto, si queremos hallar y
1
podemos hacer:
y
1
=
_
1
0
x
x + 10
dx = x[
1
0
10 ln(x + 10)[
1
0
= 1 10 ln
_
11
10
_
;
y
1
= 1 10 ln(1, 1) = 0, 0468982019570.
Pero si queremos obtener y
15
la situacin ya no es tan sencilla. Desarrollemos un algoritmo
que nos permita obtener los valores de y
n
sin tener que integrar o que al menos utilice aquellas
integrales fciles. Para un n > 1 cualquiera podemos decir que:
y
n
+ 10 y
n1
=
_
1
0
x
n
+ 10 x
n1
x + 10
dx =
_
1
0
x + 10
x + 10
x
n1
dx =
_
1
0
x
n1
dx
y
n
+ 10 y
n1
=
1
n
y
n
=
1
n
10 y
n1
Si queremos calcular y
1
necesitamos obtener y
0
que tambin resulta muy sencillo pues:
y
0
=
_
1
0
1
x + 10
dx = ln (x + 10)[
1
0
= ln (11) ln (10)
y
0
= ln(1, 1) = 0, 0953101798043.
Para analizar si el algoritmo arroja resultados conables, empezaremos por calcular al-
gunos valores. Habamos calculado el valor de y
1
en forma analtica, por lo tanto, tenemos un valor
de comprobacin. Por otro lado, por las caractersticas del problema sabemos que 0 y
n
1.
Si denimos las funciones f
i
(x) =
x
i
x + 10
y las gracamos, podemos ver que el rea bajo esas
funciones es menor a
0,1
2
= 0, 05. En la gura 1.1 se pueden ver representadas algunas de estas
curvas.
Para comprobar la ecacia del algoritmo hemos utilizado dos programas de computacin
muy conocidos: el MathCAD
r
y el MS Excel
r
. Con el primero hemos calculado las y
i
en forma
Curso 008 PRELIMINAR - 7 -
1.4. Propiedades de los algoritmos Anlisis Numrico I
Tabla 1.1: Clculo de los y
i
i Analtico MathCAD
r
MS Excel
r
1 0,0468982019567514000 0,04689820195675065 0,04689820195675
2 0,0310179804324860060 0,031017980432493486 0,03101798043248
3 0,0231535290084732900 0,023153529008398455 0,02315352900857
4 0,0184647099152671080 0,018464709916015454 0,01846470991435
5 0,0153529008473289370 0,015352900839845474 0,01535290085650
6 0,0131376581933772860 0,013137658268211921 0,01313765810168
7 0,0114805609233700040 0,011480560175023635 0,01148056184036
8 0,0101943907662999780 0,010194398249763648 0,01019438159642
9 0,0091672034481113700 0,009167128613474629 0,00916729514693
10 0,0083279655188863120 0,008328713865253717 0,00832704853072
11 0,0076294357202277880 0,007621952256553738 0,00763860560192
12 0,0070389761310554600 0,00711381076779595 0,00694727731410
13 0,0065333156125223285 0,005784969245117427 0,00745030378206
14 0,0060954153033481685 0,013578878977397152 -0,00307446639198
15 0,0057125136331849920 -0,06912212310730485 0,09741133058647
16 0,0053748636681500880 0,7537212310730486 -0,91161330586469
17 0,0050748927302638440 -7,478388781318721 9,174956588
18 0,0048066282529171250 74,83944336874276 -91,69401033
19 0,0045652964181971910 -748,3418021084802 916,9927348
20 0,0043470358180281100 7483,468021084803 -9169,877348
21 0,0041486894387665300 -74834,63259180041 91698,8211
22 0,0039676510668801740 748346,3713725496 -916988,1656
23 0,0038017502007634874 -7483463,670247235 9169881,699
24 0,0036491646590318034 74834636,74413903 -91698816,95
25 0,0035083534096819780 -748346367,4013903 916988169,5
26 0,0033780043647186900 7483463674,052364 -9169881695
27 0,0032569933898501480 -74834636740,48662 91698816953
28 0,0031443518157842460 748346367404,902 9, 16988 10
11
29 0,0030392404628472014 -7483463674048,985 9, 16988 10
12
30 0,0029409287048613280 74834636740489,89 9, 16988 10
13
31 0,0028487774675157640 -748346367404898,9 9, 16988 10
14
32 0,0027622253248423658 7483463674048989 9, 16988 10
15
33 0,0026807770546066550 -74834636740489890 9, 16988 10
16
34 0,0026039941598158087 748346367404898800 9, 16988 10
17
- 8 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
analtica y con el algoritmo dado; con el segundo, slo con el algoritmo. En la tabla 1.1 se tienen
los resultados obtenidos.
Podemos ver que los primeros valores obtenidos con el algoritmo, tanto en MathCAD
r
como en MS Excel
r
, resultan una buena aproximacin. Los problemas aparecen para y
12
y
siguientes. Detengmonos a analizar los resultados obtenidos a partir de y
12
.
En el caso particular de este ltimo, el error empieza a ser considerable, comparando
con los resultados anteriores. En los siguientes valores se obtienen algunos resultados realmente
curiosos. Ya hemos visto que los valores de y
n
, o sea, las reas bajo las curvas, estn limitados
superiormente por 0, 05. Adems podemos ver que y
n
> y
n+1
, es decir, que las reas bajo la
curva van disminuyendo a medida que crece n. Si miramos los obtenidos con MS Excel
r
, el y
13
es mayor que el y
12
, algo que no es posible segn lo visto antes. Y el y
14
es, negativo! El rea
bajo la curva no puede ser negativa. Con los resultados obtenidos con el MathCAD
r
ocurre
algo similar. Para este programa, y
14
da mayor que y
13
, y el y
15
da negativo, ambos resultados
ncorrectos.
A partir de estos valores, los resultados se vuelven oscilantes (cambian de signo), y ma-
yores que uno (y
n
> 1 para n = 17; 18; . . . ; 34), algo que por el tipo de curva no es posible,
como ya vimos. En consecuencia, resulta evidente que el algoritmo tiene algn problema para
calcular los valores de y
n
cuando n 12, por lo que no nos sirve para obtener el y
34
. An cuando
no tuviramos el resultado exacto, mirando la curva nos daramos cuenta que hay un diferencia
muy grande entre el valor real y el obtenido con el algoritmo. Ms an, el error que estamos
teniendo no sigue una ley lineal sino una ley exponencial (se va multiplicando por 10), lo que
dice claramente que el algoritmo analizado es inestable.
Este ejemplo nos muestra cmo un algoritmo mal diseado nos puede entregar resultados
que inicialmente son bastante aproximados pero que en pasos posteriores son incorrectos, y por
lo tanto, intiles.
Denicin 1.3. Un algoritmo debe ser diseado procurando que sea bien condicionado y estable.
Observacin 1.3.1. Un algoritmo inestable a la larga da resultados incorrectos, por ms que
est bien condicionado.
Es por eso que debemos desarrollar algn tipo de anlisis que nos permita detectar si un
algoritmo est bien condicionado o no y si es estable o no. Empezaremos por analizar algunos
tipos de error.
1.5. Errores
1.5.1. Error inherente
Este suele ser el error ms fcil de entender. Es el que est relacionado directamente con
los datos de entrada o de base. Dado que estos datos suelen provenir de mediciones, clculos
anteriores, proyecciones estadsticas, etc., el valor numrico de los datos no es exacto sino que
est asociado a un intervalo de validez. Cuando se mide una longitud con una cinta mtrica con
divisiones hasta el centmetro, el error por la apreciacin del instrumento es un centmetro o
medio centmetro (5 mm). Es decir, si mide 145,01 m, en realidad, se est diciendo que el valor
es 145, 01 0, 01 o 145, 010 0, 005. Lo mismo ocurre si los datos se obtienen por un clculo
anterior o una estimacin estadstica. En esos casos, el error se obtiene por otros mtodos.
Veamos un ejemplo. Supongamos que tenemos las siguientes cantidades, a = 3, 0 0, 1 y
b = 5, 0 0, 1 y queremos hallar z = a +b. lo que deberemos hacer es:
z = (3, 0 0, 1) + (5, 0 0, 1)
Al efectuar esta operacin obtendremos cinco resultados posibles: 7,8; 7,9; 8,0; 8,1 y 8,2.
Es decir, z est en el intervalo [7,8; 8,2], o, lo que es lo mismo, z = 8, 0 0, 2. As cualquier
resultado obtenido dentro del intervalo dado se puede considerar correcto.
Curso 008 PRELIMINAR - 9 -
1.5. Errores Anlisis Numrico I
Este muestra la sencillez del anlisis cuando las operaciones son pocas (en esta caso,
una). Sin embargo, si el algoritmo es ms complejo, hacer las n combinaciones posibles de opera-
ciones con los datos de ingreso puede ser imposible y nada prctico. De ah que el anlisis de la
propagacin de los errores inherentes es la forma ms conveniente para establecer la incidencia
de los mismos en los resultados nales. Ms adelante vermos la diversas formas de analizar esta
propagacin.
1.5.2. Error de redondeo
Antes de analizar el error de redondeo, veremos la manera de representar un nmero segn
la forma adoptada. A partir de esta representacin se entender cual es la verdadera incidencia
del error en los clculo efectuados con ayuda de una computadora.
Representacin numrica
Para empezar, supongamos el siguiente nmero:
4
3
. En el sistema decimal suele represen-
tarse como 1, 3333 . . . . Una forma alternativa es:
4
3

=
_
1
10
+
3
10
2
+
3
10
3
+
3
10
4
+
3
10
5
+. . .
_
10
1
= 1, 3333 . . . ;
o sea, un nmero que slo puede representarse con una serie de innitos trminos, algo imposible
desde el punto de vista prctico. Su nica forma de expresin exacta es simblica. Una calcu-
ladora, por ejemplo, slo puede representarlo en forma numrica (en base diez, como la escrita
arriba) y, por ende, la nica representacin posible es nita
2
. En consecuencia, debe truncarse
esta serie en n trminos. Por ejemplo, una representacin posible es:
4
3

=
_
1
10
+
3
10
2
+
3
10
3
+
3
10
4
_
10
1
= 0, 1333 10
1
= 1, 333.
Podemos ver que esta representacin est formada por un coeciente (0,1333), una base
(10) y un exponente (1). Esta forma de representacin se conoce como representacin de coma
(punto) otante. Una generalizacin de esta representacin se puede escribir como:
fl(x) = 0, d
1
d
2
d
3
. . . d
t1
d
t
10
e
=
_
d
1
10
+
d
1
10
2
+
d
1
10
3
+. . . +
d
1
10
t1
+
d
1
10
t
_
10
e
.
La forma normalizada es que d
1
sea distinto de cero (1 d
1
9) y que los restantes d
i
estn comprendidos en el siguiente intervalo: 0 d
1
9, para i = 2; 3; 4; . . . ; t. Tambin se
limita el exponente e, con dos valores, I < 0 y S > 0, por lo que se cumple que I e S. As,
podemos hallar el mximo numro a representar, que es 0, 99 . . . 99 10
S
10
S
, y el ms chico,
0, 10 . . . 00 10
I
= 10
I1
.
Una vez denida la forma de representar los nmeros, pasemos a denir nuestra precisin,
que signica cuantos trminos d
i
usaremos, esto es, el t que vimos, y el exponente e de la base.
Para complicar ms las cosas, las calculadoras y fundamentalmente, las computadoras,
usan una representacin numrica con base 2. Esto trae ventajas y desventajas. Por ejemplo,
puesto que se usa base 2, los d
i
slo pueden valer 0 o 1, con excepcin del d
1
, que vale siempre
1. Esto facilita la representacin de los nmeros y las operaciones. Pero las desventaja es que
slo los nmeros que pueden representarse como sumas de
1
2
i
resultan exactos. Veamos cmo
funciona esto.
Supongamos que tomamos nuestro sistema de representacin binario para representar
nuestro nmero inicial,
4
3
. Tomemos que la cantidad de trminos, t, sea 8 y dejemos por un
2
Distinto sera el caso si se usara base 3. Entonces
4
3
sera igual a 1,1; una representacin exacta.
- 10 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
momento libre de restricciones el exponente e. Entonces, tendremos lo suguiente:
4
3
0, 10101010 2 =
_
1
2
+
1
8
+
1
32
+
1
128
_
2 = 0, 6640625 2 = 1, 328125;
nmero parecido al buscado pero no igual. Esto nos muestra que existe una limitacin cuando
utilizamos una computadora (o una calculadora) para representar nmeros que no tienen una
representacin directa en base binaria. Asociada a esta limitacin, la de poder representar slo
una cantidad nita de nmeros, surge el error por corte o redondeo.
Error por corte/redondeo
Volvamos a nuestro sistema decimal tradicional. Supongamos ahora que nuestros nmeros
se pueden representar de la siguiente manera:
fl(x) = (0, d
1
d
2
d
3
. . . d
t
d
t+1
d
t+2
. . .) 10
e
.
Si nuestra precisin elegida es t, entonces debemos recortar el nmero denido arriba, pues no
podemos representar los d
i
para i > t. En consecuencia, tenemos dos alternativas bsicas para
efectuar dicho recorte:
1. Corte: Ignorar los dgitos d
i
cuando i > t.
2. Redondeo: Sumar 1 a d
t
si d
t+1

10
2
e ignorar los restantes d
i
para i > t + 1, o aplicar
corte si d
t+1
<
10
2
.
Esto nos permite obtener una cota del error absoluto para ambos casos:
e
A
=
_
10
t
10
e
para corte
1
2
10
t
10
e
para redondeo.
Y como denimos el error absoluto, tambin podemos denir un lmite para el error
relativo, que ser:
1. Corte: e
r

10
t
10
e
0, 1 10
e
= 10
1t
.
2. Redondeo: e
r

1
2
10
t
10
e
0, 1 10
e
=
1
2
10
1t
.
Al valor 10
1t
lo identicaremos con la letra , y resulta ser importante porque nos da
una idea del error relativo que cometemos al utilizar una representacin de coma otante. Suele
denominarse como unidad de mquina o unidad de redondeo. El negativo del exponente
de suele llamarse tambin cantidad de dgitos signicativos.
Dgitos de guarda
Supongamos el siguiente caso. Tomemos el nmero 0,1425 que debe ser redondeado a tres
dgitos signicativos. Aplicando el criterio anterior rpidamente obtenemos que el resultado es
0,143 pero, es correcto este redondeo? Por qu no redondear a 0,142; si est a medio camino
de ambos? Supongamos que hacemos la operacin 2 0, 1425, cuyo resultado es 0, 2850, qu
pasa con la misma operacin si el nmero est redondeado? Evidentemente da diferente puesto
que la operacin es 2 0, 143 cuyo resultado es 0, 286. La diferencia entre ambos es 0, 001 que es
justamente la unidad de redondeo. Esto se vuelve an ms importante cuando se tiene la resta
de nmeros similares (a b con a b). De ah que la mayora de las computadoras actuales (y
los programas) trabajen con lo que se conoce como dgitos de guarda, es decir, ms precisin
que la mostrada en forma normal en pantalla. Pero este ejemplo sirve adems para desarrollar
otra forma de redondeo.
Curso 008 PRELIMINAR - 11 -
1.5. Errores Anlisis Numrico I
Redondeo exacto
Tal como dijimos, el nmero 0, 1425 est mitad de camino de ser redondeado a 0, 143
como a 0, 142. Este problema ha llevado a desarrollar el concepto de redondeo exacto, que
consiste en redondear todos los nmeros que terminan en 5 de manera de que el ltimo dgito
signicativo sea par. En consecuencia, aplicando este criterio, 0, 1425 se redondea a 0, 142 y no
a 0, 143. El criterio va de la mano del dgito de guarda y debera ser el redondeo normal.
(Para ms detalles respecto a dgitos de guarda y el redondeo exacto, vase [3].)
1.5.3. Error de truncamiento/discretizacin
Este error surge de aproximar procesos continuos mediante procedimientos discretos o
de procesos innitos mediante procedimientos nitos. Como ejemplo del primer caso suele
tomarse la diferenciacin numrica como forma de aproximar el clculo de una derivada en un
punto (o su equivalente, la integracin numrica), en tanto que para el otro, el ejemplo ms es
usual es la utilizacin de mtodos iterativos para resolver sistemas de ecuaciones lineales.
En general, este error est asociado al uso de la serie de Taylor para aproximar funciones,
de modo que estimar una cota del error no conlleva una dicultad mayor. Sin embargo, en l
suelen interactuar el error inherente y/o el de redondeo, con lo que muchas veces su inuencia
no es bien advertida o es muy reducida. Para ello veamos un ejemplo tpico.
Supongamos que queremos calcular una aproximacin de f

(x
0
) para una funcin conti-
nua, pues no es posible obtener la derivada en forma analtica o resulta muy difcil. Por lo tanto,
usaremos un entorno del punto x
0
para calcular f

(x
0
) utilizando solamente f(x). Para ello nos
valdremos de la serie de Taylor. En efecto, para cualquier punto distante h de x
0
tendremos:
f(x
0
+h) = f(x
0
) +f

(x
0
)h +f

(x
0
)
h
2
2
+f

(x
0
)
h
3
6
+f

(x
0
)
h
4
24
+. . . .
Entonces podemos despejar f

(x
0
), que resulta ser:
f

(x
0
) =
f(x
0
+h) f(x
0
)
h

_
f

(x
0
)
h
2
+f

(x
0
)
h
2
6
+f

(x
0
)
h
3
24
+. . .
_
.
Si nuestro algoritmo para aproximar f

(x
0
) es:
f(x
0
+h) f(x
0
)
h
,
el error que cometemos en la aproximacin est dado por:

(x
0
)
f(x
0
+h) f(x
0
)
h

(x
0
)
h
2
+f

(x
0
)
h
2
6
+f

(x
0
)
h
3
24
+. . .

.
El trmino de la derecha es el denominado error de truncamiento, pues es lo que se trunc
a la serie de Taylor para aproximar el valor buscado. Este error suele asociarse tambin con la
convergencia (o la velocidad de convergencia), que suele representarse como O(n) (generalmente,
como O(h
n
)), siendo n el parmetro que determina la velocidad o la convergencia. En nuestro
caso, y dado que h generalmente es menor a 1, podemos decir que la aproximacin es del tipo:
f

(x
0
) =
f(x
0
+h) f(x
0
)
h
+O(h),
que indica que el error que se comete es proporcional a h. (Est claro que adems estn los
trminos con h
2
, h
3
, etc., pero como h < 1 entonces h
2
<< h, h
3
<< h
2
, etc., la inuencia de
stos es mucho menor y despreciable.)
- 12 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
Supongamos por un momento que todas las derivadas f
<i>
(x
0
) = 0 para i 3. Entonces
tendremos que:

(x
0
)
f(x
0
+h) f(x
0
)
h

=
h
2

()

con [x; x +h],


con lo cual, si conociramos f

(), podramos acotar el error que estamos cometiendo por des-


preciar el trmino
h
2
f

(x
0
).
Como ejemplo, apliquemos este algoritmo para obtener la derivada en x
0
= 0, 45 (f

(0, 45))
de la funcin f(x) = sen(2x). Como vericacin tomemos el valor analtico de la derivada en
cuestin: f

(0, 45) = 2 cos(2 0, 45) = 5, 97566. Para calcular la aproximacin tomemos


h = 0, 1. As, tendremos.
f

(0, 45) =
f(0, 55) f(0, 45)
0, 1
=
sen(2 0, 55) sen(2 0, 45)
0, 1
= 6, 18034.
En la tabla 1.2 podemos ver los resultados obtenidos para distintos h.
Tabla 1.2: Valores de f

(x
0
) en funcin de h
h f

(x
0
) Error
10
1
-6,18033988749895 2, 04676 10
1
10
2
-6,03271072100927 5, 70464 10
2
10
3
-5,98172474217345 6, 06041 10
3
10
4
-5,97627391137889 6, 09582 10
4
10
5
-5,97572532307633 6, 09936 10
5
10
6
-5,97567042914804 6, 09966 10
6
10
7
-5,97566494175972 6, 12277 10
7
10
8
-5,97566438553798 5, 60549 10
8
10
9
-5,97566451876474 1, 89282 10
7
10
10
-5,97566607307698 1, 74359 10
6
10
11
-5,97566995885756 5, 62937 10
6
10
12
-5,97544236313752 2, 21966 10
4
10
13
-5,97633054155722 6, 66212 10
4
10
14
-5,99520433297584 1, 95400 10
2
10
15
-5,88418203051333 9, 14823 10
2
10
16
-8,32667268468867 2, 35101
Si observamos con atencin, veremos que el algoritmo utilizado aproxima muy bien el
valor buscado hasta h = 10
8
. Si estimamos la cota de error con f

(x
0
)
10
8
2
obtenemos una
valor muy parecido al error indicado en la tabla 1.2:
f

(0, 45)
10
8
2
= 6, 09975 10
8
(5, 60549 10
8
).
Sin embargo, a partir de h < 10
8
el error vuelve a crecer. En la gura 1.2 se puede ver
como evoluciona el error:
Si analizamos en detalle, vemos que la tendencia del error de truncamiento es lineal (en
escala logartmica) pero para h < 10
8
el error aumenta y no sigue una ley determinada. Este
empeoramiento de la aproximacin se debe a la incidencia del error de redondeo, es decir, la
unidad de mquina pasa a ser ms importante que el error de truncamiento. Es por eso que
Curso 008 PRELIMINAR - 13 -
1.5. Errores Anlisis Numrico I
Figura 1.2: Evolucin del error del algoritmo.
no siempre el utilizar una mejor precisin ayuda a mejorar los resultados nales. En este
tipo de problemas, es conveniente que el error que domine los clculos sea el de truncamien-
to/discretizacin.
1.5.4. Errores por overow y underow
Asociados a la represenatcin numrica existen otros dos tipos de errores. Son los denom-
inados errores por overow y por underow. Estos errores surgen por las limitaciones de
nuestro sistema para representar nmeros muy grandes (overow) o muy chicos (undeow).
Es usual que los manuales del usuario de una calculadora indiquen el nmero ms grande (y
el ms chico) que puede ser representado. Por ejemplo, las calculadoras Casio de la dcada de
los 80 no podan representar n! si n > 69 pues el nmero ms grande que podan representar
era 9, 999999999 10
99
(69!=1, 71122452428141 10
98
y 70!=1, 19785716699699 10
100
). Algo
similar ocurre con los nmeros muy chicos.
Un error muy comn es olvidarse que en los clculos intermedios pueden aparacer
nmeros muy grandes o muy chicos, fuera del rango de nuestra representacin numrica, que
vuelven a un algoritmo intil. Por ejemplo, supongamos que nuestro sistema de representacin
numrica en una calculadora represente solamente los nmeros entre -10.000 y -0,0001; y entre
0,0001 y 10.000. Si queremos obtener el resultado de

101
2
50, como 101
2
= 10.201 > 10.000
y no lo puede representar, indicar un error por overow, es decir, nmero ms grande que el
mximo a representar, y cortar la ejecucin del algoritmo.
El error por underow es parecido. En este caso, el problema es no poder representar
un nmero muy pequeo, por lo que lo dene como cero (0). Si modicamos levemente el ejem-
plo anterior, y queremos obtener el resultado de
_
0, 01 0, 006
2
, como 0, 006
2
= 0, 000036 <
0, 0001 y no le es posible representarlo, har 0, 006
2
= 0, 0000 y la operacin quedar como

0, 01 0, 0 =

0, 01 = 0, 1.
La diferencia entre ambos es que el error por overow no pasa desapercibido, mientras
que el underow s, y en consecuencia, suele ser ms peligroso.
- 14 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
1.6. Propagacin de errores
Hemos visto varios ejemplos que nos mostraron en forma evidente la incidencia que pueden
llegar a tener los errores en los resultados que entrega un algoritmo, particularmente, el error
de redondeo. Veremos a continuacin la propagacin de dos de los errores ms problemticos, el
inherente y el de redondeo.
1.6.1. Propagacin del error inherente
Supongamos que tenemos un problema numrico tal que podemos expresarlo como X
Y (X), siendo X un vector de '
n
, que corresponde a los datos de entrada, e Y un vector de '
m
,
que corresponde a los resultados. Podemos escribir entonces que:
X
_

_
x
1
x
2
.
.
.
x
n
_

_
Y (X) =
_

_
y
1
(X)
y
2
(X)
.
.
.
y
m
(X)
_

_
,
donde y
i
(X) : '
n
'; Y (x) : '
n
'
m
.
Por otra parte, supongamos que en lugar de X conocemos

X, es decir, una aproximacin
de X; podemos denir que e
x
i
= x
i
x
i
, que tambin conocemos. Y nuestra ltima suposicin es
que las y
i
(X) pertenecen a C

(X), lo que nos permite desarrollar Y (X) en una serie de Taylor


alrededor de

X:
Y (X) = Y
_

X
_
+

_
y
1
(

X); y
2
(

X); . . . ; y
m
(

X)
_
[x
1
; x
2
; . . . ; x
n
]
(X

X) +T
_
X

X
_
.
Podemos suponer ahora que e
x
i
= x
i
x
1
para i [1, n] es muy pequeo, y que por eso
T
_
X

X
_
es despreciable, con lo que nos queda:
y
i
(X) y
i
_

X
_
=
n

j=1
_
_
y
i
_

X
_
x
j
(x
j
x
j
)
_
_
para i = 1; 2; . . . ; m,
que por analoga a e
x
i
podemos expresar como:
e
y
i
=
n

j=1
y
i
_

X
_
x
j
e
x
j
; para i = 1; 2; . . . ; m,
que nos da el error de y
i
en funcin de del error de x
j
. Esta expresin es muy til porque nos
permite obtener o determinar el error de un resultado si conocemos el error de los datos de
entrada, es decir, cmo se propagan los errores inherentes. Veamos algunos ejemplos:
1. Suma: Hagamos y (x
1
; x
2
) = x
1
+x
2
, entonces tendremos:
e
y
= e
x
1
+x
2
=
y ( x
1
; x
2
)
x
1
e
x
1
+
y ( x
1
; x
2
)
x
2
e
x
2
,
o sea,
e
y
= 1 e
x
1
+ 1 e
x
2
e
y
= e
x
1
+e
x
2
.
El error relativo ser:
e
r
y
=
e
y
y
=
e
x
1
+e
x
2
x
1
+x
2
=
e
x
1
x
1
+x
2
+
e
x
2
x
1
+x
2
.
Sabemos que e
x
1
= x
1
e
r
x
1
y e
x
2
= x
1
e
r
x
2
, por lo que podemos escribir:
e
r
y
=
x
1
e
r
x
1
x
1
+x
2
+
x
2
e
r
x
2
x
1
+x
2
=
x
1
x
1
+x
2
e
r
x
1
+
x
2
x
1
+x
2
e
r
x
2
.
Curso 008 PRELIMINAR - 15 -
1.6. Propagacin de errores Anlisis Numrico I
2. Producto: En este caso tenemos y (x
1
; x
2
) = x
1
x
2
, entonces:
e
y
= x
2
e
x
1
+x
1
e
x
2
.
El error relativo para el producto ser:
e
r
y
=
e
y
y
=
x
2
e
x
1
x
1
x
2
+
x
1
e
x
2
x
1
x
2
= e
r
x
1
+e
r
x
2
.
Hasta aqu no pareciera haber problemas. Sin embargo, raramente se conoce el error con
su signo, de ah que lo que se busca es una cota del error, no el error en s mismo. En ese caso,
las expresiones del error relativo se modican levemente:
1. Suma: e
r
y
=
[x
1
[
[x
1
+x
2
[

e
r
x
1

+
[x
2
[
[x
1
+x
2
[

e
r
x
2

.
2. Producto: e
r
y
=

e
r
x
1

e
r
x
2

.
A partir de este razonamiento es que la suma es una operacin mal condicionada cuando
se da que [x
1
[ [x
2
[ y x
2
< 0 es decir, la suma algebraica. Suponiendo que e
r
x
i
r se tiene:
e
r
y
=
[x
1
[ +[x
2
[
[x
1
x
2
[
r.
lo que hace que e
r
y
crezca en forma incontrolada, pues el coeciente siempre es mayor a uno,
puede ser mucho mayor que 1 si x
1
x
2
es muy chico.
Analizaremos ahora la propagacin del error de redondeo.
1.6.2. Propagacin del error de redondeo
Supongamos ahora que en nuestro problema no tenemos errores inherentes. Por lo tanto,
para X Y (X) : '
n
'
m
slo tendremos errores de redondeo debido al algoritmo utilizado.
Sea P(X) nuestro algoritmo para obtener Y (X). Si no hubieran errores por redondeo, entonces
Y (X) = P(X), pero lo que en realidad obtendremos es

Y (X) = P(X), es decir que podemos
escribir que:
Y (X) =

Y (X) +E(X) y
i
(X) = y
i
(X)
_
1 +
p

k=1
F
i,k
(X)
k
_
,
con [
k
[ , y donde los F
i,k
son los factores de amplicacin.
1.6.3. Propagacin de los errores inherentes y de redondeo
Ya hemos visto la expresin para calcualr la propagacin de los errores inherentes, que
es:
e
y
i
=
n

j=1
y
i
(X)
x
j
e
x
j

=
n

j=1
y
i
(

X)
x
j
e
x
j
.
Como adems tendremos P(X) en vez de Y (X), entonces:
e
y
i

= e
p
i
=
n

j=1
p
i
(

X)
x
j
e
x
j
,
y el error relativo ser:
e
r
p
i
=

n
j=1
p
i
(

X)
x
j
x
j
p
i
(

X)
e
r
x
j
,
- 16 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
en consecuencia, el coeciente que afecta a e
r
x
j
ser el nmero de condicin del problema, que se
dene como :
C
p
i
=

n
j=1
p
i
(

X)
x
j
x
j
p
i
(

X)
.
Del mismo modo, tendremos el trmino de estabilidad, que se dene como:
y
i
(X) p
i
(

X) = p
i
(

X)
p

k=1
F
i,k
(

X)
k
T
e
=
p

k=1
F
i,k
(

X)
k

=
p

k=1
F
i,k
(

X).
Si suponemos que e
r
x
j
r, entonces, tendremos:
e
r
y
i

= C
p
i
r +T
e
i
,
que ser el error relativo total.
Finalmente, si suponemos ahora que r

= , entonces tenemos:
e
r
y
i

= (C
p
i
+T
e
i
) = C
p
i
C
p
i
+T
e
i
C
p
i
,
y podemos decir que un algoritmo es estable si:
C
p
i
+T
e
i
C
p
i
> / > 1 1 +
T
e
i
C
p
i
> / > 1,
es decir, un algoritmo es estable si los errores de redondeo no tienen gran incidencia en el error
del resultado o al menos son del mismo orden que los errores inherentes (1 +
T
e
i
C
p
i

= 2). Sin
embargo, esta armacin debe tomarse con cuidado. Dado que lo que se analiza es la relacin
T
e
C
p
, debe tenerse en cuenta que si C
p
>> 1 y
T
e
C
p
1 entonces T
e
>> 1, por lo que es posible
que el algoritmo sea inestable.
1.7. Grca de proceso
Una forma de obtener los coecientes C
p
y T
e
es mediante la grca de proceso. sta
consiste en un diagrama de ujo que representa grcamente todo el proceso de una operacin
dada, permitiendo el anlisis de los errores relativos y de redondeo que intervienen en l. No se in-
cluyen en esta grca los errores debidos a truncamiento/discretizacin, que deben ser analizados
en forma separada.
En las guras 1.3 y 1.4 se pueden ver las grcas de proceso de la suma y el producto.
Analicemos brevemente los errores inherentes y de redondeo en ambos casos. Si nos jamos
en la grca de la suma, y tomamos una cota superior para los errores relativos inherentes de x
e y, por ejemplo, [e
r
x
[ ;

e
r
y

< [r[, entonces el coeciente C


p
se puede escribir como:
C
p
=
[x[ +[y[
[x +y[
que es el mismo resultado obtendido antes para la suma.
Algo similar se obtiene para el producto.
La ventaja de este mtodo es que facilita el anlisis del error de redondeo al introducirlo
en cada operacin, permitiendo el clculo del trmino de estabilidad (T
e
). Segn estas grcas,
en ambos casos el T
e
es igual a 1.
Sin embargo, esto que parece muy til, puede convertirse en algo muy difcil de desarrollar
cuando se tiene un algoritmo con miles de pasos, como puede ser la resolucin de un sistema de
ecuaciones lineales mediante un mtodo directo. Analizar millones de operaciones mediante la
grca de proceso puede ser una tarea imposible. Por lo tanto, debemos buscar otra manera de
obtener ambos coecientes.
Curso 008 PRELIMINAR - 17 -
1.8. Perturbaciones experimentales Anlisis Numrico I
Figura 1.3: Suma.
Figura 1.4: Producto.
1.8. Perturbaciones experimentales
Supongamos que queremos estudiar la condicin o la estabilidad de un algoritmo con miles
de pasos. Ya dijimos que hacer la grca de proceso puede ser una tarea imposible. Entonces,
cmo hacemos para saber si dicho algoritmo est bien condicionado o es estable? Veamos. Para
empezar, estudiemos cmo obtener una aproximacin de la condicin del problema. Puesto que
la condicin viene dada por la propagacin (o no) de los errores relativos inherentes, busquemos
la manera de obtener en forma numrica una estimacin del coeciente de condicin, o sea, del
C
p
. En el mismo sentido, el trmino de estabilidad, T
e
est relacionado con la propagacin de
los errores de redondeo. Busquemos tambin algn procedimiento que nos permita obtener una
estimacin de dicho coeciente.
1.8.1. Estimacin del nmero de condicin
Partamos de la expresin nal del error relativo de un resultado:
e
r
= C
p
r +T
e

- 18 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
y supongamos por un momento que no tenemos errores de redondeo, es decir, despreciamos T
e
.
En consecuencia, lo que tendremos es:
e
r
= C
p
r C
p
=
e
r
r
Y con esto podemos estimar valor del C
p
. Cmo lo hacemos? Perturbando los valores de
los datos de entrada. La idea es la siguiente: se toman los datos de entrada (x, y, etc.), y se aplica
el algoritmo a analizar, obteniendo el resultado correspondiente. Luego se perturban los datos
de entrada, es decir, se les incorpora un error. Con estos datos de entrada, se vuelve a calcular
un resultado, que seguramente diferir del anterior, pues los datos no son iguales. Este ltimo
paso se puede hacer varias veces introduciendo distintas perturbaciones (errores) a los datos de
entrada.
Una vez obtenidos los distintos valores de los resultados, tomamos el resultado sin per-
turbar como resultado exacto, con el cual vamos a calcular los errores relativos de los otros
resultados perturbados. Con cada uno de stos obtendremos diferentes e
r
i
. Como adems ten-
dremos diferentes r
i
, lo que obtendremos nalmente son diferentes C
p
i
. Como hemos supuesto
que los errores de redondeo son despreciables, todos los C
p
i
deberan ser similares, con lo cual
tendremos una estimacin de la condicin del problema, es decir, estimamos un C
p
. Con esta
estimacin podremos establecer si el problema est bien o mal condicionado.
Veamos un ejemplo. Tomemos la siguiente funcin para calcular sen(x):
f(x) = x
x
3
6
+
x
5
120

x
7
5040
+
x
9
362880
,
funcin obtenida a partir del truncamiento de la serie de MacLaurin. Con ella calculemos sen(

4
)
y luego perturbemos el dato de entrada.
El primer resultado lo obtenemos con x =

4
:
f
_

4
_
=

4

_

4
_
3
6
+
_

4
_
5
120

_

4
_
7
5040
+
_

4
_
9
362880
= 0, 70711
Perturbemos ahora x haciendo x
1
= x (1 + 0, 001) (r
1
= 0, 001), y calculemos f(x
1
):
f
_

4
(1 + 0, 001)
_
= 0.70655
Introduzcamos una nueva perturbacin, esta vez haciendo x
2
= x (1 0, 001) (r
2
= 0, 001), y
calculemos f(x
2
):
f
_

4
(1 0, 001)
_
= 0.70766
Ahora calculemos los dos C
p
. Para el primer caso tenemos:
C
p
=
0, 70711 0, 70655
0, 70711

1
0, 001
= 0, 78571
Para el segundo caso tenemos:
C
p
=
0, 70711 0, 70766
0, 70711

1
0, 001
= 0, 78509
Si calculamos el C
p
en forma analtica obtenemos:
C
p
=
f(x)
x
=
d f(x)
d x
= 1
_

4
_
2
2
+
_

4
_
4
24

_

4
_
6
720
+
_

4
_
8
40320
cos
_

4
_
C
p
0, 78540
Esto demuestra que la estimacin del C
p
es muy buena y que el problema est bien
condicionado, pues C
p
< 1.
Curso 008 PRELIMINAR - 19 -
1.8. Perturbaciones experimentales Anlisis Numrico I
1.8.2. Estimacin del trmino de estabilidad
Para obtener una estimacin del trmino de estabilidad, seguiremos un esquema similar
al visto para el nmero de condicin. Partamos nuevamente de la expresin nal para el error
realtivo:
e
r
= C
p
r +T
e

Ahora consideremos como hiptesis que los errores inherentes son despreciables, por lo que pode-
mos decir que el error relativo es:
e
r
= T
e
.
El error relativo est denido como:
e
r
=
y y
y
,
por lo tanto podemos escribir:
y y
y
= T
e
.
Al calcular el valor de y con dos precisiones diferentes t y s, (
s
= 10
1s
y
t
= 10
1t
),
y asumiendo que t > s, obtenemos los siguientes errores relativos:
e
r
t
=
y y
t
y
= T
e

t
; e
r
s
=
y y
s
y
= T
e

s
.
Si restamos e
r
t
a e
r
s
tenemos:
e
r
s
e
r
t
=
y
t
y
s
y
= T
e
(
s

t
),
de donde despejamos T
e
:
T
e
=
y
t
y
s
y (
s

t
)
.
Como el valor de y no lo conocemos, tomamos y
t
en su lugar. En consecuencia, la expresin
queda:
T
e
=
y
t
y
s
y
t
(
s

t
)
.
Esta expresin nos permite obtener una estimacin del T
e
calculando dos aproximaciones
de y, y
t
y y
s
, con diferente precisin, utilizando el mismo algoritmo.
Como ejemplo, utilicemos el mismo algoritmo del caso anterior. Calculemos el valor de
sen
_

4
_
con tres precisiones distintas: s = 4; t = 8 y u = 15. Para cada caso tendremos:
y
s
= 0, 706; y
t
= 0, 7071068 y y
u
= 0, 70710678293687. Con estos valores calculamos los T
e
,
tomando como valor de referencia y
u
. As, obtenemos los siguientes valores:
T
e
s
=
y
u
y
s
y
u
(
s

u
)
=
0, 70710678293687 0, 706
0, 70710678293687 (10
3
10
14
)
= 1, 565;
y
T
e
t
=
y
u
y
t
y
u
(
t

u
)
=
0, 70710678293687 0, 7071068
0, 70710678293687 (10
7
10
14
)
= 0, 241.
Si analizamos un poco los valores obtenidos, vemos que en el primer caso el error de
redondeo se amplica, puesto que el T
e
es mayor que 1. En cambio, en el segundo, la situacin
es muy buena porque los errores se mantienen acotados, no se amplican (T
e
< 1). Podramos
decir que calcular el valor de y con ms precisin mejora el resultado nal, pero hemos vistos
que no siempre esto es cierto.
- 20 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
1.9. Inestabilidad en los algoritmos
Como hemos dicho, el principal objetivo del anlisis numrico es obtener algoritmos que
estn bien condicionados y sean estables. Hasta ahora nos hemos referido a los principales errores
que afectan a los algoritmos y hemos analizado los distintos errores y su propagacin, segn sea
el caso. Adems, hemos visto que la condicin de un problema es independiente del algoritmo,
en tanto que la estabilidad es una propiedad el mismo. Es por eso que el anlisis numrico
se concentra ms en estudiar cmo hacer que un algoritmo sea estable ms que en analizar su
condicionamiento, aunque en algunos casos este ltimo anlisis sea muy importante, como por
ejemplo, para resolver sistemas de ecuaciones lineales.
La mayora de los libros y cursos de anlisis numrico hacen hincapi en varios conceptos
para obtener un algoritmo estable. Alguno de stos son:
1. La resta de dos nmeros muy similares (cancelacin) siempre debe ser evitada.
2. El problema del error de redondeo es su acumulacin.
3. Aumentar la precisin en los clculo mejora la exactitud de los resultados.
Segn N. Higham (vase [5], cpitulo 1), estos conceptos son en realidad malos entendidos,
y desarrolla algunos ejemplos que muestran lo contrario. Veamos alguno de ellos.
1.9.1. Cancelacin
En su libro, Higham presenta el siguiente caso. Supongamos que debemos hacer la siguien-
te operacin:
f(x) =
1 cos(x)
x
2
,
con x = 1, 2 10
5
y con cos(x) = c redondeado a 10 dgitos signicativos, con un valor de
c = 0, 9999999999;
de manera que
1 c = 0, 0000000001.
Al calcular f(x) =
1c
x
2
se obtiene f(x) =
10
10
1,4410
10
= 0, 6944 . . ., resultado evidentenente
incorrecto pues es claro que 0 f(x) 1/2 para todo x ,= 0.
Al analizar la cota del error relativo para la resta x = a

b, donde a = a(1 + a) y

b = b(1 + b) obtiene:

x x
x

aa +bb
a b

max([a[ , [b[)
[a[ +[b[
[a b[
.
La cota del error relativo de x es muy grande cuando [a b[ << [a[ + [b[. Por lo tanto, arma
que una resta con esta condicin da preeminencia a los errores iniciales.
Tambin arma que la cancelacin no siempre es mala, por varias razones. La primera
es que los nmeros a restar pueden ser libres de error. La segunda, que la cancelacin puede ser
una seal de un problema intrnsecamente mal condicionado y, por lo tanto, inevitable. Tercero,
los efectos de la cancelacin dependen del contexto en que se efecta. Si x >> y z > 0, la
resta en la operacin x + (y z) es inocua.
Curso 008 PRELIMINAR - 21 -
1.9. Inestabilidad en los algoritmos Anlisis Numrico I
1.9.2. Acumulacin del error de redondeo
Desde que se cre la primera computadora, la acumulacin del error de redondeo ha
sido uno de los dolores de cabeza de los especialistas, como se puede ver en esta frase: La
extraordinaria rapidez de las actuales mquinas signica que en un problema tpico se realizan
millones de operaciones con coma (punto) otante. Esto quiere decir que la acumulacin de
errores de redondeo puede ser desastrosa. Para Higham esta armacin, si bien cierta, no es
del todo correcta o est mal enfocada. En muchas ocasiones la inestabilidad est dada por la
incidencia de unos pocos errores de redondeo y no por la acumulacin de millones de ellos. Un
ejemplo en ese sentido est dado por el algoritmo del ejemplo inicial, en el cual el error est
dado por el redondeo de y
n1
, que se propaga a medida que el valor es cada vez ms chico. Otro
ejemplo es el clculo de e usando su denicin:
f(n) = lm
n
_
1 +
1
n
_
n
,
tomando n nito pero lo sucientemente grande. En la tabla 1.3 se pueden los resultados para
distintos n obtenidas en MS Excel
r
.
Tabla 1.3: Valores de f(n) y diferencia con e.
n f (n) [e f (n)[
10
1
2,593742460100000 1, 24539 10
1
10
2
2,704813829421530 1, 34680 10
2
10
3
2,716923932235590 1, 35790 10
3
10
4
2,718145926824930 1, 35902 10
4
10
5
2,718268237192300 1, 35913 10
5
10
6
2,718280469095750 1, 35936 10
6
10
7
2,718281694132080 1, 34327 10
7
10
8
2,718281798347360 3, 01117 10
8
10
9
2,718282052011560 2, 23553 10
7
10
10
2,718282053234790 2, 24776 10
7
10
11
2,718282053357110 2, 24898 10
7
10
12
2,718523496037240 2, 41668 10
4
10
13
2,716110034086900 2, 17179 10
3
10
14
2,716110034087020 2, 17179 10
3
10
15
3,035035206549260 3, 16753 10
1
Como podemos observar, a medida que n aumenta, mejora la aproximacin de e. Sin
embargo, eso ocurre slo para n < 10
8
. Cuando n 10
9
la aproximacin se vuelva cada vez
peor, como es el caso de n = 10
15
. Al igual que en el ejemplo ya citado, el problema es la
imposibilidad de representar correctamente
1
n
cuando n es muy grande y, en consecuencia, un
solo error de redondeo incide negativamente en el resultado obtenido.
1.9.3. Aumento de la precisin
El caso anterior muestra tambin que el aumento de la precisin para no siempre signica
una mejora en los resultados obtenidos. Es usual que cuando la nica fuente de error es el
redondeo, la forma tradicional de corregir esto es aumentar la precisin y ver qu ocurre con los
resultados, comparando cuntos dgitos coinciden en los resultados original y con mayor precisin.
Pero en el caso de trabajar con un problema mal condicionado, el aumento de la precisin
no resulta en una mejora en los resultados. En ese caso, es muy posible que los resultados
- 22 - PRELIMINAR Curso 008
Anlisis Numrico I 1. Errores en los mtodos numricos
obtenidos no tengan ningn dgito en comn. Un ejemplo tpico es el siguiente. Supongamos que
resolvemos el siguiente sistema de ecuaciones lineales:
_
10
4
2
1 1
_

_
x
1
x
2
_
=
_
4
3
_
.
Si utilizamos dos precisiones diferentes para resolver el sistema, una con cuatro decimales
y otra con tres, obtenemos los siguientes vectores [x]:
_
x
1
x
2
_
1
=
_
0, 01
2
_
con tres decimales,
_
x
1
x
2
_
2
=
_
1, 0001
2
_
con cuatro decimales.
Vemos que el aumento de la precisin nos da un resultado completamente distinto para la
primera componente y por consiguiente, no son comparables. Este un tpico caso de una matriz
considerada como mal condicionada y que debemos transformarla para obtener resultados
mejores. As, si intercambiamos las tenemos:
_
1 1
10
4
2
_

_
x
1
x
2
_
=
_
3
4
_
,
la solucin que obtenemos es:
_
x
1
x
2
_
=
_
1, 0
2, 0
_
cualquiera sea la precisin utilizada y que corresponde a la solucin correcta.
Es evidente que el aumento en la precisin de los coecientes no mejora los resultados.
Este es un caso especial de matrices cuya solucin merece un estudio ms detallado que se ver
en Sistemas de Ecuaciones Lineales.
1.10. Diseo de algoritmos estables
El anlisis de los errores y, fundamentalmente, de la propagacin de estos errores, nos
ayuda a obtener algunos lineamientos para disear algoritmos estables, si bien no hay recetas
simples para ello. La mejor recomendacin es estar alerta en obtener un algoritmo estable cuando
se lo disea y no concentrarse solamente en otras cuestiones, como el costo computacional o la
posibilidad de su paralelizacin.
En su libro, Higham da una serie de lineamientos, entre los cuales se destacan los siguien-
tes:
1. Evitar la resta de cantidades con errores.
2. Minimizar el tamao de las cantidades intermedias relativas al resultado nal. La razn
es que si las cantidades intermedias son demasiado grandes, el resultado nal puede ser
consecuencia de una resta daina. O visto de otra manera, cantidades grandes tapan los
datos iniciales y en consecuencia, se pierde informacin.
3. Es ms ventajoso escribir una expresin que actualice la informacin como
valor
nuevo
= valor
viejo
+ pequea correccin
si la pequea correccin se puede calcular con muchos dgitos signicativos
3
. Muchos
de los mtodos numricos se expresan de esta forma, como por ejemplo, el mtodo de
Newton-Raphson, el mtodo del Gradiente Conjugado para resolver sistemas de ecuaciones
3
Sin embargo, Higham mismo reconoce que no es necesario operar con muchos dgitos signicativos para
obtener buenos resultados utilizando este procedimiento. Vase [6]
Curso 008 PRELIMINAR - 23 -
1.10. Diseo de algoritmos estables Anlisis Numrico I
lineales, los mtodos para resolver ecuaciones diferenciales ordinarias. Un ejemplo clsico
es el mtodo del renamiento iterativo de la solucin para un sistema de ecuaciones lineales
de la forma Ax = B, en el que se calcula el residuo r
1
= B A x
1
, y con l un valor
1
resolviendo A
1
= r
1
, para luego mejorar el resultado obtenido con la iteracin x
2
= x
1
+
1
.
4. Usar transformaciones bien condicionadas.
Una recomendacin importante es que se revisen los resultados intermedios, es decir, los
que se generan durante el procedimiento de clculo. Esta prctica era muy comn en los inicios
de la computacin electrnica. Wilkinson, el padre del anlisis de la propagacin de errores, gan
una gran experiencia respecto a la estabilidad numrica gracias a ese tipo de revisin. Es irnico
que con las grandes facilidades que se tienen hoy para rastrear los pasos de un algoritmo (ventanas
mltiples, herramientas grcas, impresoras rpidas), a veces se obtengan menos resultados que
en esa poca en las cuales slo se contaba con papel y lmparas (vlvulas).
- 24 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Captulo 2
Sistemas de Ecuaciones Lineales
2.1. Introduccin
Una de las caractersticas fundamentales del uso de las computadoras es la dicultad
para trabajar con mtodo simblicos. Si bien hoy existen varios programas que trabajan con
matemtica simblica (Mathematica, Maple, MathCAD), no es lo ms usual y mucha veces
la capacidad de esos programas se ve excedida por las demanadas ingenieriles en cantidad de
clculo. Ms de una vez la necesidad de obtener un resultado en el menor tiempo posible hace
imperioso contar con algn mtodo que estime el valor en forma numrica.
Buena parte de los problemas ingenieriles de la actualidad hacen un uso intensivo de
sistemas de ecuaciones lineales, usualmente denidos como Ax = B. En particular, el uso ex-
tendido de programas que aplican el mtodo de los elementos nitos o de las diferencias nitas
es un ejemplo de ello. En esos programas, como los de anlisis estructural, el ncleo princi-
pal del programa es la resolucin de sistemas de ecuaciones lineales de grandes dimensiones
(1.000 1.000, 10.000 10.000, etc.). En este tipo de problemas no resulta muy eciente invertir
la matriz de coecientes para hallar la solucin del sistema. Tambin la aplicacin de mtodos
de regresin mltiple requieren la solucin de sistemas de ecuaciones lineales, algo usual en es-
tadsitica. Podemos decir, entonces, que en ingeniera el uso de sistemas de ecuaciones lineales
es una prctica habitual.
Por lo tanto, uno de los temas ms importantes del anlisis numrico es el estudio de la
resolucin de estos sistemas de ecuaciones. Si bien conocemos mtodos muy precisos (exactos)
para resolver sistemas de pequeas dimensiones, el problema es analizar cmo resolver sistemas
de grandes a muy grandes dimensiones.
Del lgebra lineal sabemos que podemos obtener la solucin de Ax = B si hacemos
x = A
1
B, pero obtener la inversa de A no es una tarea sencilla, ms si la matriz no sigue un
patrn determinado o si est mal condicionada, concepto que estudiaremos ms adelante.
Como introduccin y repaso, veremos primero algunas deniciones para luego estudiar
varios mtodos que resuelven un sistema de ecuaciones sin invertir la matriz de coecientes de
manera muy eciente y para distintas condiciones.
2.2. Deniciones
Empezaremos dar algunas deniciones relacionadas con las matrices.
Denicin 2.1. Una matriz que tiene la misma cantidad de las que de columnas (A es de nn
dimensiones) se denomina matriz cuadrada.
Para que una matriz pueda tener inversa debe ser necesariamente cuadrada.
Denicin 2.2. Una matriz cuyo determinante es no nulo (det(A) ,= 0) se denomina matriz no
singular.
Curso 008 PRELIMINAR - 25 -
2.3. Matrices triangulares Anlisis Numrico I
Denicin 2.3. Una matriz A cuadrada tiene inversa, es decir, existe A
1
, si A es una matriz
no singular.
A partir de esta ltima denicin podemos decir que un sistema de ecuaciones lineales
tiene solucin nica si la matriz A del sistema Ax = B es cuadrada y no singular.
Denicin 2.4. Se denomina rango de un matriz al nmero de las que son linealmente inde-
pendiente.
Por lo tanto, el rango de una matriz cualquiera siempre es menor o igual al nmero de
las (rango(A) nmero de las). De esto ltimo se puede inferir que una matriz A de n n
dimensiones es no singular si su rango es n (rango(A) = n). Si el vector B se puede escribir como
combinacin lineal de las columnas de la matriz A y la matriz A es singular, entonces existen
innitas soluciones para el sistema.
2.3. Matrices triangulares
Una matriz triangular es aquella que slo tiene coecientes no nulos en la diagonal princi-
pal y por encima o por debajo de ella. Hay dos tipos: la matriz triangular superior, generalmente
denominada U, y la matriz triangular inferior, denominada L. Estas matrices son muy conve-
nientes cuando se deben resolver sistemas de ecuaciones lineales puesto que permiten una rpida
obtencin de los resultados sin la necesidad de invertir la matriz de coecientes A. Estos dos
tipos de matrices dan lugar a dos mtodos muy utilizados: la susticin inversa, para matrices U,
y la sutitucin directa, para matrices L.
Por ejemplo, para el primer caso, una matriz U de 4 4 tiene la siguiente forma:
_

_
u
11
u
12
u
13
u
14
0 u
22
u
23
u
24
0 0 u
33
u
34
0 0 0 u
44
_

_
Para resolver un sistema Ux = B basta con empezar por la ltima la para obtener x
4
y
luego ir reemplazando este valor en las ecuaciones anteriores, es decir, hacer:
x
4
=
b
4
u
44
x
3
=
b
3
u
34
x
4
u
33
.
.
.
x
i
=
b
i

n
j=i+1
u
ij
x
j
u
ii
Esta forma de resolver el sistema de ecuaciones lineales se denomnina sustitucin inversa.
Cuando la matriz es triangular inferior el procedimiento para rsolver Lx = B es:
x
1
=
b
1
l
11
x
2
=
b
2
l
21
x
1
l
22
.
.
.
x
i
=
b
i

i1
j=1
l
ij
x
j
l
ii
En este caso, el mtodo se denomina sustitucin directa.
- 26 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Cualquiera de estos mtodos es sencillo de aplicar y evita tener que invertir la matriz
de coeciente de un sistema de ecuaciones lineales, lo que facilita la resolucin del mismo. En
consecuencia, los mtodos directos se basan en transformar la matriz de coecientes original no
triangular, en una nueva matriz de coecientes triangular.
2.4. Eliminacin de Gauss y sustitucin inversa
El mtodo de eliminacin de Gauss es un mtodo directo muy efectivo que transforma
la matriz de coecientes original en una matriz triangular superior y luego aplica el mtodo de
sustitucin inversa para obtener la solucin del sistema dado. Para ello se basa en la propiedad
que tienen las matrices de que la misma no cambia si se reemplaza una de las las por una
combinacin lineal de las restantes las. El procedimiento en lneas generales es:
Se ja la primera la de la matriz A.
Se tranforman las las siguientes de manera de que el coeciente a
i1
se anule, es decir, se
utiliza el coeciente a
11
de la diagonal principal como pivote.
Se ja la siguiente la, se ja el pivote en la diagonal principal y se repite el paso anterior.
Se contina hasta que la matriz queda transformada en una matriz triangular superior.
Se aplica la sustitucin inversa para hallar los x
i
.
Por ejemplo, supongamos que tenemos la siguiente matriz A de dimesniones n = 4, con
su vector independiente B, genramos la matriz ampliada:
A =
_

_
a
11
a
12
a
13
a
14
[ b
1
a
21
a
22
a
23
a
24
[ b
2
a
31
a
32
a
33
a
34
[ b
3
a
41
a
42
a
43
a
44
[ b
4
_

_
.
Para obtener la nueva segunda la operamos de la siguiente manera:
1. Calculamos el coeciente m
21
:
m
21
=
a
21
a
11
2. Luego calculamos los coecientes a

2i
y b

2
:
a

22
= a
22
m
21
a
12
a

23
= a
23
m
21
a
13
a

24
= a
24
m
21
a
14
b

2
= b
2
m
21
b
1
y as sucesivamente para el resto de las las, con lo que otenemos la nueva matriz ampliada:
A =
_

_
a
11
a
12
a
13
a
14
[ b
1
0 a

22
a

23
a

24
[ b

2
0 a

32
a

33
a

34
[ b

3
0 a

42
a

43
a

44
[ b

4
_

_
,
y los correspondientes m
31
y m
41
.
Curso 008 PRELIMINAR - 27 -
2.4. Eliminacin de Gauss y sustitucin inversa Anlisis Numrico I
3. El siguiente paso es repetir los pasos 1 y 2, es decir, calcular un nuevo coeciente m, el m
32
y los nuevos coecientes. Operando sucesivamente de esta forma obtendremos nalmente
la siguiente matriz ampliada :
A =
_

_
a
11
a
12
a
13
a
14
[ b
1
0 a

23
a

23
a

24
[ b

2
0 0 a
#
33
a
#
34
[ b
#
3
0 0 0 a
+
44
[ b
+
4
_

_
,
y los correspondientes m
42
y m
43
.
4. Finalmente, para obtener el vector x debemos hacer:
x
4
=
b
+
4
a
+
44
x
3
=
b
#
3
a
#
34
x
4
a
#
33
x
2
=
b

2
a

23
x
3
a

24
x
4
a

22
x
1
=
b
1
a
12
x
2
a
13
x
3
a
14
x
4
a
11
La expresin general para la transformacin de la matriz es la siguiente:
a

ij
= a
ij
m
il
a
lj
,
para los coecientes de la matriz A, y:
b

i
= b
i
m
il
b
l
para los coecientes del vector de trminos independientes (B), con m
il
=
a
il
a
ll
.
Este procedimiento es muy til puesto que se conoce exactamente la cantidad de pasos
que deben efectuarse, es decir, el mtodo tiene un cantidad nita de pasos, inclusive si el sistema
a resolver cuenta con varios vectores B. En ese caso, basta con transformarlos conjuntamente
con la matriz A.
Con este procedimiento, es posible conocer el costo computacional del mtodo, es decir,
establecer cuanto tiempo lleva todo el proceso. Una forma de estimar este costo de transformacin
de la matriz en triangular superior es mediante la siguiente expresin que cuenta las operaciones
realizadas (sumas, restas, multiplicaciones y divisiones). Para la transformacin de la matriz A
ampliada con el vector B en una matriz triangular superior tenemos la siguiente cantidad de
operaciones:
n1

k=1
[(n k) + 2 (n k) (n k + 1)] =
2
3
n
3
+
n
2
2

7
6
n.
A su vez, para la susticin inversa tenemos esta cantidad de operaciones:
1 +
n1

k=1
[2 (n k) + 1] = n
2
.
En consecuencia, si se suman ambos valores, tenemos que el costo de efectuar la elimi-
nacin de Gauss es:
2
3
n
3
+
3
2
n
2

7
6
n;
- 28 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
es decir, proporcional a n
3
.
Conviene tener presente que esta estimacin es aproximada, pues no se han tenido en
cuenta otros costos difciles de evaluar como son el manejo de las prioridades de memoria, la
forma de guardar los datos, etc. Sin embargo, esta estimacin sirve para establecer que a medida
que la dimensin de la matriz aumenta, el costo es proporcional al cubo de la misma, es decir,
el aumento del tiempo empleado en resolver el sistema completo (el costo computacional)
es potencial y no lineal. Es por ello que resolver un sistema de 1.000 1.000 insume un costo
proporcional a 1.000.000.000 operaciones.
Un problema que puede surgir en este mtodo es si alguno de los elementos de la diagonal
principal al ser transformados se anulan. Si esto ocurriera, de acuerdo con el algoritmo anterior,
el procedimiento se detendra y en consecuencia no podra obtenerse solucin alguna. En estos
casos se aplican versiones ms desarrolladas, denominadas Eliminacin de Gauss con Pivoteo
Parcial (EGPP) o Eliminacin de Gauss con Pivoteo Total (EGPT).
En el primer caso, lo que se hace es primero intercambiar las las, reordenndolas de
manera tal que el coeciente nulo quede fuera de la diagonal principal, y luego se contina con
el algoritmo tradicional. Veamos un ejemplo. Supongamos el siguiente sistema:
x
1
+x
2
x
3
= 1
x
1
+x
2
+ 4x
3
= 2
2x
1
x
2
+ 2x
3
= 3.
Armemos el sistema ampliado para aplicar el mtodo de Eliminacin de Gauss. Entonces
nos queda:
_
_
1 1 1 [ 1
1 1 4 [ 2
2 1 2 [ 3
_
_

_
_
1 1 1 [ 1
0 0 5 [ 1
0 3 4 [ 1
_
_
.
Como vemos, la transformacin de la matriz nos deja nulo el coeciente a

22
de la segunda
la, lo que nos impide seguir operando. Para poder seguir debemos intercambiar las las dos y
tres, en consecuencia tendremos:
_
_
1 1 1 [ 1
0 3 4 [ 1
0 0 5 [ 1
_
_

_
_
_
x
1
x
2
x
3
_
_
_
=
_
_
1, 2667
0, 0667
0, 2000
_
_
.
El intercambio entre las ls 2 y 3 evit que el procedimiento se detuviera. Pero tambin
es posible que valores muy chicos en los coecientes de la diagonal principal generen un problema
en la mecnica del sistema. Por ejemplo, consideremos el siguiente sistema:
0, 03x
1
+ 58, 9x
2
= 59, 2
5, 31x
1
6, 10x
2
= 47, 0;
que debe ser resuelto con una precisin de solamente tres dgitos y aplicando corte en vez de
redondeo. Si aplicamos Eliminacin de Gauss tendremos:
_
0, 03 58, 9 [ 59, 2
0 10400 [ 10300
_
;
pues al hacer los clculos obtenemos que:
m
21
=
5, 31
0, 03
= 177 a

22
= 6, 10 177 58, 9 6, 10 10400 10400
b

2
= 47, 0 177 59, 2 47, 0 10400 10300.
Curso 008 PRELIMINAR - 29 -
2.5. Factorizacin LU Anlisis Numrico I
As, la solucin del sistema es:
_
x
1
x
2
_
=
_
30, 0
0, 990
_
,
Pero si resolvemos el sistema anterior con precisin innita, el resultado que obtenemos
es:
_
x
1
x
2
_
=
_
10
1
_
,
lo que nos indica que el resultado anterior es incorrecto. Esta diferencia est dada por el coeciente
0, 03 en la diagonal principal. Si reordenamos el sistema original tenemos:
5, 31x
1
6, 10x
2
= 47, 0
0, 03x
1
+ 58, 9x
2
= 59, 2;
y si utilizamos la misma precisin, resulta:
_
5, 31 6, 10 [ 47, 0
0 58, 9 [ 58, 9
_
;
puesto que al hacer los clculos obtenemos:
m
21
=
0, 03
5, 31
= 0, 005649 0, 005 a

22
= 58, 9 0, 005 (6, 10) 58, 9 + 0, 030 58, 9
b

2
= 59, 2 0.005 47, 0 = 59, 2 0, 235 58, 9.
La solucin del sistema es:
_
x
1
x
2
_
=
_
10
1
_
,
resultado que coincide con el obtenido con precisin innita.
Es por eso que el mtodo de Eliminacin de Gauss con Pivoteo Parcial (EGPP) se usa
tambin cuando alguno de los coecientes de la diagonal principal es muy chico con respecto a
los dems coecientes de la matriz.
En el caso del pivoteo total se efecta no slo un reordenamiento de las las sino tambin
de las columnas, lo que complica an ms el procedimiento.
Ambos casos insumen un mayor costo computacional que resulta muy difcil estimar
puesto que no se trata de contar operaciones aritmticas como en la estimacin anterior, si bien
se considera que una comparacin es equivalente a una suma/resta.
2.5. Factorizacin LU
El mtodo de eliminacin de Gauss es un mtodo muy potente. Sin embargo, no siempre
es conveniente su utilizacin. Supongamos por un momento que para resolver un determinado
problema debemos resolver el sistema de ecuaciones en forma anidada. Es decir, cada nueva
solucin depende del resultado obtenido en un paso anterior, o sea, cada vector B depende de la
solucin anterior (B
<i>
= f
_
x
<i1>
_
).
Si queremos resolver estos sistemas nos encontraremos con la desventaja de que en cada
paso tendremos que recalcular la matriz triangular superior, lo que signica un costo computa-
cional muy grande, tal como vimos en el punto anterior. Por lo tanto, deberamos buscar un
mtodo que nos evite repetir dichos clculos.
Un mtodo muy eciente para estos casos es la descomposicin o factorizacin LU. sta
consiste en descomponer la matriz A original en el producto de dos matriz: una triangular inferior
(L) y una triangular superior (U), para armar el siguiente sistema:
Ax = LUx = B con A = LU.
- 30 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
De esta forma obtenemos dos sistemas de ecuaciones:
Ly = B
Ux = y
En el primer caso, para obtener la solucin intermedia y, aplicamos la sustitucin directa,
y en el segundo, la sustitucin inversa. Vemos que en este mtodo el vector B no es transformado
en ninguno de los sistemas resueltos, que es lo que estbamos buscando. Pero cmo se obtienen
las dos matrices triangulares?
En el caso de la matriz triangular superior, la forma ms sencilla de obtenerla es aplicar
el mismo algoritmo que el utilizado para eliminacin de Gauss, lo que signica que el costo
computacional es similar (pero no igual, puesto que no debe transformarse al vector B). Nos
falta la matriz L. Pero esta matriz es muy sencilla de obtener. Planteemos el esquema para
obtener los coecientes de la matriz L partiendo que los elementos de la diagonal principal son
iguales a 1 (l
ii
= 1):
l
21
u
11
= a
21
l
21
=
a
21
u
11
=
a
21
a
11
= m
21
l
31
u
11
= a
31
l
31
=
a
31
u
11
=
a
31
a
11
= m
31
. . . . . . . . .
l
31
u
12
+l
32
u
22
= a
32
l
32
u
22
= a
32
l
31
u
12
= a
32
m
31
a
12
. .
a

32
= a

32
l
32
=
a

32
u
22
=
a

32
a

22
= m
32
Como vemos, la matriz L es una matriz triangular inferior compuesta por los coecientes
de la diagonal principal iguales a 1 (l
ii
= 1) y los coecientes por debajo de la diagonal principal
iguales a los coecientes m
ij
del mtodo de eliminacin de Gauss (l
ij
= m
ij
). Es decir, las
matrices tienen la siguiente forma:
L =
_

_
1 0 0 . . . 0
m
21
1 0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
0
m
n1,1
m
n1,n2
1 0
m
n1
. . . m
n,n2
m
n,n1
1
_

_
y
U =
_

_
1 a
12
a
13
. . . a
1n
0 a

22
a

23
. . . a

2n
0 0 a

33
a

3n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 . . . 0 a

nn
_

_
donde los a

ij
son los coecientes transformados del mtodo de Eliminacin de Gauss.
Obtenidas L y U, la solucin del sistema se obtiene aplicando, primero, la sustitucin
directa para hallar el vector y y luego, sustitucin inversa para hallar x. Para el primer caso se
aplica el siguiente algortimo:
y
1
= b
1
y
2
= b
2
l
21
y
1
.
.
.
y
i
= b
i

i1

j=1
l
ij
y
j
Curso 008 PRELIMINAR - 31 -
2.6. Mtodo de Cholesky Anlisis Numrico I
puesto que los coecientes l
ii
son iguales a uno (l
ii
= 1).
Como dijimos, obtenido y, se aplica la sustitucin inversa para obtener el vector x solucin
del sistema. El algoritmo es:
x
n
=
y
n
u
nn
x
n1
=
y
n1
u
n1,n
y
n
u
n1,n1
.
.
.
x
i
=
y
i

j=i+1
u
ij
x
j
u
ii
Como vemos, en ningn caso hemos modicado o transformado al vector B, por lo que
una vez que obtenemos las matrices U y L, podemos resolver los distintos sistemas aplicando
sustitucin directa primero e inversa despus. Este mtodo se conoce como Mtodo de Doolittle.
Ahora nos quedara analizar el costo computacional del mtodo. Sin embargo, dado que
hemos utilizado el mtodo de eliminacin de Gauss para obtener las matrices U y L, el costo para
este mtodo es muy similar al de dicho mtodo. En consecuencia, la ventaja est principalmente
en no tener que repetir la triangulacin de la matriz A para cada sistema con un B distinto.
Al obtener la matriz U mediante Eliminacin de Gauss podemos tener el mismo problema
ya visto: que un coeciente de la diagonal principal se haga nulo en los pasos intermedios. En
ese sentido, valen las mismas aclaraciones respecto al Pivoteo Parcial y al Pivoteo Total. Es por
eso que suele decirse que existe un par de matrices L y U que cumplen con:
PA = LU,
donde P es una matriz de permutacin.
2.6. Mtodo de Cholesky
2.6.1. Matrices simtricas y denidas positivas
Antes de analizar un caso particular de factorizacin de matrices conviene recordar la
denicin de un algunos tipos de matrices. En primer lugar, se dice que una matriz es simtrica
cuando dicha matriz es igual a su transpuesta, es decir:
A = A
T
.
Otro tipo de matriz es la conocida como denida positiva
1
. En este caso se debe cumplir
que:
x
T
Ax > 0 para todo x ,= 0.
Es de notar que lo que se impone para que una matriz sea denida positiva es que el
escalar resultante de la operacin x
T
Ax sea no nulo y mayor que cero. En general demostrar esto
resulta muy engorroso, por lo que suelen utilizarse algunos procedimientos alternativos. Para ello
veamos los siguiente conceptos.
Denicin 2.5. Una primera submatriz principal de una matriz A es la que tiene la forma:
A
k
=
_

_
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
. . . . . . . . . . . . . . . . . .
a
k1
a
k2
. . . a
kn
_

_
1
Algunos autores exigen que A sea simtrica y denida positiva. Sin embargo, en principio, se puede decir que
no es necesario que una matriz sea simtrica para que sea denida positiva.
- 32 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
para alguna 1 k n.
Teorema 2.1. Una matriz simtrica A es denida positiva si y slo si sus primeras submatrices
principales tienen determinante positivo.
Teorema 2.2. La matriz simtrica A es denida positiva si y slo si la eliminacin de Gauss sin
pivoteo puede efectuarse en el sistema Ax = B con todos los pivotes positivos.
Corolario 2.2.1. La matriz simtrica A es denida positiva si y slo si A puede factorizarse en
la forma LDL
T
, donde L es una matriz triangular inferior con coecientes iguales a uno en la
diagonal principal (l
ii
= 1) y D es una matriz diagonal con coecientes positivos (d
ii
> 0).
Corolario 2.2.2. La matriz A es simtrica y denida positiva si y slo si A puede factorizarse
en la forma LL
T
donde L es una matriz triangular inferior con elementos no nulos en su diagonal.
2.6.2. Algoritmo de Cholesky
Con el ltimo corolario se puede efectuar una factorizacin de la matriz A conocida como
mtodo o algoritmo de Cholesky. En efecto, si la matriz A es simtrica denida positiva, es
posible obtener una matriz S que cumpla:
SS
T
= A.
Veamos como podemos obtener esta natriz a partir de la factoriziacin LU. De acuerdo
con el corolario 2.2.1, la matriz simtrica A puede ser factorizada como LDL
T
. Si adems es
denida positiva, entonces los coecientes de D son positivos. En consecuencia, podemos obtener
sin problemas

D, con lo cual tenemos A = L

DL
T
. As nuestra matriz A puede ser
expresada como:
A = L

D
. .
S

DL
T
. .
S
T
= SS
T
.
Finalmente, las expresiones para obtener esta matriz S son:
s
ii
=
_
a
ii

i1

k=1
s
2
ik
_
1/2
y s
ji
=
1
s
ii
_
a
ji

i1

k=1
s
jk
s
ik
_
,
con j > i.
Este mtodo es mucho ms eciente puesto que slo debemos calcular y guardar una
sola matriz, a diferencia de la factorizacin LU en la que debo calcular y guardar dos matrices,
si bien algunos algortimos permiten guardar ambas matrices en una sola. Adems, el mtodo
Cholesky no aumenta considerablemente el costo computacional que analizamos en los puntos
anteriores, por ms que deban extraerse n races cuadradas.
Este mtodo es muy aplicado en programas estructurales que aplican el mtodo de los
elementos nitos, dado que la matriz de coecientes es una matriz simtrica y denida positiva.
De todos modos, tiene las mismas desventajas vistas para los otros mtodos cuando la dimensin
de la matriz es cada vez ms grande.
2.7. Condicin de una matriz
Uno de los puntos a tener en cuenta es qu error cometemos al resolver un sistema
de ecuaciones lineales mediante un mtodo directo. Una forma de conocer el error de nuestro
vector solucin x sera analizar el algoritmo utilizado con ayuda de la grca de proceso. Este
procedimiento resulta un tanto engorroso y largo, adems de poco prctico. Una segunda manera
podra ser analizar lo siguiente: puesto que nuestro sistema se puede expresar como Ax = B, una
Curso 008 PRELIMINAR - 33 -
2.7. Condicin de una matriz Anlisis Numrico I
forma alternativa es x = A
1
B. Si denimos a N = A
1
, nos queda x = NB. Si desarrollamos
esta expresin para cada componente de x nos queda:
x
i
=
n

j=1
n
ij
b
j
.
Armemos un algoritmo que tenga la siguiente forma:
s
j
= n
ij
b
j
;
x
i
=
n

j=1
s
j
.
Analicemos los errores en cada paso. Para el primero tenemos:
e
s
j
= b
j
e
n
ij
+n
ij
e
b
j
= b
j
e
ij
+n
ij
e
j
er
s
j
=
b
j
e
n
ij
+n
ij
e
b
j
n
ij
b
j
+
j
= er
n
ij
+er
b
j
+
j
= er
ij
+er
j
+
j
.
Con el error relativo podemos recalcular el error total de s
j
:
e
s
j
= b
j
e
ij
+n
ij
e
j
+n
ij
b
j

j
.
Para el segundo paso tendremos:
e
x
i
=
n

j=1
e
s
j
=
n

j=1
(b
j
e
ij
+n
ij
e
j
) +
n

j=1
n
ij
b
j

j
,
er
x
i
=
n

j=1
e
s
j
x
i
+
n

k=2

k
=
n

j=1
(b
j
e
ij
+n
ij
e
j
)
x
i
+
n

j=1
n
ij
b
j

j
x
i
+
n

k=2

k
.
Esta ltima expresin la podemos escribir tambin como:
er
x
i
=
n

j=1
n
ij
b
j
(er
ij
+er
j
+
j
)
x
i
+
n

k=2

k
.
Si reordenamos los trminos tendremos:
er
x
i
=
n

j=1
n
ij
b
j
x
i
(er
ij
+er
j
) +
n

j=1
n
ij
b
j
x
i

j
+
n

k=2

k
.
De esta forma se puede decir que el error relativo de x
i
es:
er
x
i

n

j=1
Cp
j
(er
ij
+er
j
) +
n

j=1
Te
j

j
,
con
Cp
j
=
n
ij
b
j
x
i
y Te
j

n
ij
b
j
x
i
+ 1.
Hemos encontrado para cada x
i
la expresin del error relativo, o mejor dicho, una idea
aproximada del error. Pero, en la prctica, sirve esto? Todos los clculos son engorrosos y adems
hemos partido de un algoritmo no del todo prctico, pues hemos dicho que invertir la matriz no
es conveniente. Entonces, qu hacemos?
Supongamos que hemos resuelto nuestro sistema Ax = B con un algoritmo cualquiera y
que en consecuencia hemos obtenido una solucin x. Lo que nos interesa conocer es una cota del
- 34 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
error absoluto, |x x|, o del error relativo,
|x x|
|x|
, en alguna norma, por ejemplo, la norma
innito.
Como, en principio, no conocemos el resultado exacto de x, lo que podemos hacer es
calcular lo siguiente:
R = B A x,
donde R lo denominamos residuo. Si nuestra solucin x fuera la solucin exacta, entonces nuestro
vector R debera ser nulo. Sin embargo, en la prctica, siempre obtendremos un vector R no
nulo, debido a la propagacin de los errores de redondeo o a la propagacin de los errores
inherentes y de redondeo. Si hubisemos utilizado un mtodo iterativo habra que agregar los
errores por truncamiento. De todos modos, qu conclusiones podemos sacar conociendo R?
Veamos el siguiente ejemplo.
Supongamos la matriz A y el vector B dados a continuacin:
A =
_
1, 2969 0, 8648
0, 2161 0, 1441
_
; B =
_
0, 8642
0, 1440
_
.
Supongamos tambin que usando un determinado algoritmo hemos obtenido las siguientes
soluciones:
x
1
=
_
0, 9911
0, 4870
_
; x
2
=
_
0, 0126
1, 0182
_
.
Entonces, tendremos:
R = B A x
i
=
_
10
7
10
7
_
.
Por lo tanto, tendremos que |R|

= 10
8
. Podemos decir que el residuo es muy chico.
Sin embargo, la solucin correcta es:
x =
_
2
2
_
.
Es decir, el error cometido es del mismo orden de la solucin, o sea, 10
7
veces el residuo!
Es importante tener en cuenta que cualquiera sea el algoritmo utilizado, no podemos
esperar sino un residuo pequeo o muy pequeo, lo que signica que este residuo R por s solo
no nos sirve de mucho para estimar el error que hemos cometido al obtener x.
Cmo se relaciona, entonces, este residuo con el error en x? Veamos. Escribamos el
residuo como:
R = B A x = Ax A x = A(x x) .
es decir:
x x = A
1
R.
Elijamos cualquier norma vectorial, por ejemplo, la innita. Entonces tendremos:
|x x| =
_
_
A
1
R
_
_

_
_
A
1
_
_
|R| .
Esto nos da una cota del error absoluto en trmino de A
1
. Usualmente el error relativo
es ms signicativo que el absoluto. Como |B| |A| |x| implica que
1
x

A
B
, tendremos
que:
|x x|
|x|

_
_
A
1
_
_
|R|
|A|
|B|
=
_
_
A
1
_
_
|A|
|R|
|B|
.
Esta expresin nos permite establecer que el residuo por s mismo no nos alcanza para
estimar el error de nuestro vector solucin x, sino que tambin debemos conocer algunas carac-
tersticas de la matriz A. En particular, vemos que el error relativo de x depende de
_
_
A
1
_
_
|A|.
Curso 008 PRELIMINAR - 35 -
2.8. Renamiento iterativo de la solucin Anlisis Numrico I
A este nmero lo denominaremos condicin de A y lo expresaremos como cond(A) o (A)
2
.
Tanto
_
_
A
1
_
_
como |A| son nmeros (son normas de las matrices) por lo tanto para que el error
relativo de x no sea muy grande, el producto de
_
_
A
1
_
_
|A| debiera ser cercano a uno, es decir:
_
_
A
1
_
_
|A| = (A) > / > 1.
Si la matriz es no singular debe cumplirse que:
1 = |I| =
_
_
A
1
A
_
_
(A),
que puede considerarse el lmite inferior, en tanto que si la matriz A es singular (no existe A
1
),
(A) = , que puede ser considerado el lmite superior. As, puede decirse que el nmero de
condicin da una idea de cuan cerca est la matriz de ser singular, o lo que es lo mismo, de que
el sistema no tenga solucin o que sean innitas.
Una conclusin interesante es que si la matriz A del sistema est mal condicionada,
pequeos desvos en el residuo R pueden llevar a grandes desvos en x, es decir, si denimos que
|x| = |x x|, entonces puede darse que |x| >> 1, algo que no es aceptable.
2.8. Renamiento iterativo de la solucin
Hemos visto en los puntos anteriores que los mtodos directos pueden resolver muy bien
un sistema de ecuaciones lineales, con excepcin de un sistema con la matriz de coecientes A
mal condicionada. An as, existe la posibilidad de obtener una solucin aceptable, dentro de
cierto rango. Al analizar el error cometido, introdujimos el concepto del vector residuo, que
denominamos R, y que obtuvimos de la siguiente manera:
R = B A x.
Como vimos, con ese vector residuo podemos calcular el error de nuestra aproximacin x
respecto de nuestra solucin exacta x, pues tenemos que:
B A x = Ax A x = A(x x)
. .

= A = R,
y, en consecuencia, resolviendo este nuevo sistema de ecuaciones podemos obtener nuestro valor
. Dado que hemos denido que = x x, entonces podemos decir que:
x = x +,
y con ello hemos obtenido nuestra solucin exacta. Sin embargo, esto no suele ocurrir al primer
intento, de manera que lo que obtendremos en realidad es una nueva aproximacin de nuestra
solucin, que llamaremos x. Para sistematizar esto, digamos que
x = x
1
; R
1
= B Ax
1
; A
1
= R
1
,
por lo que tendremos:
x = x
2
= x
1
+
1
.
El paso siguiente es obtener R
2
y
2
, en forma anloga a
1
. En consecuencia, tendremos
que
x
3
= x
2
+
2
= x
1
+
1
+
2
= x +
1
+
2
.
2
En este caso hemos utilizado la norma innito, por lo tanto se obtiene el

(A). Podra haberse usado la


norma eucldea y obtener el
2
(A).
- 36 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Si generalizamos, tenemos que la solucin exacta se puede obtener con la expresin
x = x +
n

i=1

i
,
es decir, que a la solucin aproximada le sumamos todos los errores para obtener la solucin
exacta. Por supuesto, es imposible efectuar innitas interaciones, por lo que es imprescindible
establecer algn criterio de corte. Un criterio puede ser cortar las iteraciones cuando |R
k
| Tol,
pero vimos que esto no asegura que el error sea pequeo. Otro crietrio, tal vez ms acertado, es
interrumpir las iteraciones o clculos cuando |
k
| Tol, que tiene en cuenta el error de x.
Este procedimiento que obtiene la solucin de nuestro sistema sumando los errores, se
conoce como mtodo del renamiento iterativo de la solucin y ha cobrado gran desarrollo en los
ltimos aos, pues pueden obtenerse buenos resultados con matrices mal condicionadas. Suele
decirse que para obtener una buena solucin, los sistemas A
i
= R
i
deben resolverse con mayor
precisin que el sistema original. Si hemos resuelto el sistema Ax = B en simple precisin,
entonces debe usarse doble precisin para resolver cada uno de estos sistemas. Esto no es del
todo cierto, ya que pueden obtenerse buenos resultados usando la misma precisin, tal como
ha demostrado N. Higham (vase [6]). Pero existe otra cuestin. Cuando conviene aplicar este
mtodo?
Supongamos (una vez ms) que obtenemos la aproximacin x. Con esta solucin, podemos
obtener el vector residuo mediante
R
1
= B A x.
Si realizamos los clculos utilizando una precisin de t dgitos, podemos demostrar que
|R
1
| 10
t
|A| | x| .
Para saber si el mtodo es convergente, podemos obtener una aproximacin o estimacin
del nmero de condicin de A. Para ello vamos a obtener el vector
1
segn vimos arriba, es
decir, haciendo
A
1
= R
1
.
Entonces, podemos escribir lo siguiente:
|
1
| |x x| =
_
_
A
1
R
1
_
_

_
_
A
1
_
_
|R
1
|
_
_
A
1
_
_
_
10
t
|A| | x|
_
= 10
t
| x| (A),
con lo cual podemos estimar (A) mediante
(A)
|
1
|
| x|
10
t
.
Como hemos dicho, este mtodo permite obtener buenos resultados inclusive con matrices
mal condiciondas. Sin embargo, si (A) > 10
t
, el sistema est tan mal condicionado que debe
modicarse la precisin original usada en la obtencin de x para obtener un resultado aproximado
aceptable.
2.9. Errores de los mtodos directos
Hemos visto que el hecho de obtener un vector residuo pequeo no es garanta para inferir
que el resultado obtenido tiene un error tambin pequeo. Analicemos el sistema en una forma
ms detallada. Supongamos ahora que tanto la matriz A como el vector B tienen pequeas
perturbaciones que llamaremos A y B respectivamente, y que nuestra solucin sea x. Entonces
tendremos:
(A+A) x = B +B.
Curso 008 PRELIMINAR - 37 -
2.9. Errores de los mtodos directos Anlisis Numrico I
Podemos escribir que
A x +A x = B +B,
A x +A x = B +B.
Sabemos que x = x +x, por lo tanto podemos escribir:
A(x x) +A(x x) = B +B,
Ax Ax +Ax Ax = B +B.
Si despreciamos Ax, tendremos
Ax +Ax Ax = B +B,
Ax Ax = B,
Ax = B +Ax,
x = A
1
B +A
1
Ax.
Si tomamos normas a ambos lados tendremos:
|x|
_
_
A
1
_
_
|B| +
_
_
A
1
_
_
|A| |x| ,
y como adems tenemos que |B| |A| |x|, entonces podemos dividir todo de manera de
obtener:
|x|
|A| |x|

_
_
A
1
_
_
|B|
|B|
+
_
_
A
1
_
_
|A| |x|
|A| |x|
,

_
_
A
1
_
_
|B|
|B|
+
_
_
A
1
_
_
|A|
|A|
.
Si multiplicamos por |A| tendremos que:
|x|
|x|
= |A|
_
_
A
1
_
_
. .
(A)
_
|B|
|B|
+
|A|
|A|
_
.
Podemos ver que para que los errores de x sean pequeos no basta con que B y A
sean pequeos (es decir, que los errores inherentes sean pequeos), sino que es necesario que el
nmero de condicin de A ((A)) sea cercano a 1.
Analicemos ahora los errores de redondeo. Vamos a buscar una cota de estos errores.
Supongamos que aplicamos el mtodo de factorizacin LU para resolver el sistema. Si suponemos
que solamente se producen errores de redondeo, entonces tendremos en realidad que
LU = A+A,
donde A son las perturbaciones producidas por los errores de redondeo al obtener L y U.
Entonces, nuestro sistema queda como:
(A+A)(x x) = B,
por lo tanto,
x = A
1
A(x x).
Si tomamos la norma tenemos
|x| (A) |x x|
|A|
|A|
.
- 38 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Se puede demostrar que |A| 1, 01(n
3
+ 3n
2
) |A| , donde = max

a
k
ij

|A|
, y n es la
dimensin de la matriz A; entonces tenemos que
|x|
|x x|

|x|
|x|
(A)1, 01(n
3
+ 3n
2
),
y podemos denir el error total para los mtodos directos como
|x|
|x|
(A)
_
|B|
|B|
+
|A|
|A|
+ 1, 01(n
3
+ 3n
2
)
_
.
Podemos ver que si la matriz es de grandes dimensiones, comienzan a tener gran incidencia
los errores de redondeo, con lo cual el sistema puede volverse inestable si (A) >> 1, adems de
mal condicionado.
2.10. Mtodos iterativos
Hasta ahora hemos estudiado los llamados mtodos directos para resolver sistemas de
ecuaciones lineales. Son llamados de esta forma porque el algoritmo tiene una cantidad conocida
de pasos (nita) y los resultados que obtenemos al aplicarlos deberan ser exactos, salvo por
el error de redondeo, aunque vimos que esto no siempre es as. Estos mtodos se suelen usar con
matrices densas o casi llenas, como por ejemplo las surgidas del anlisis matricial de estructuras
planas, las cuales tienen muchos coecientes distintos de cero (a
ij
,= 0).
Pero existen muchos otros problemas en los cuales el sistema de ecuaciones tiene una
matriz A que no es densa, sino por el contrario, es rala, es decir, tiene muchos coecientes nulos,
como es el caso del anlisis estructural en tres dimensiones. Entonces trabajar con los mtodos
directos se vuelve muy poco prctico, pues debemos hacer muchas operaciones con coecientes
nulos y, lo que es peor, muchas veces transforamr un coeciente nulo en otro no nulo, incorporando
un error que antes no exista. Es por eso que se han desarrollado mtodos que tienen en cuenta
este tipo de matrices. Son los mtodos denominados iterativos.
En estos mtodos, la solucin la obtenemos a partir de una solucin inicial, la cual se
va corrigiendo en sucesivas iteraciones hasta obtener la solucin correcta, de ah el nombre de
iterativos. En principio, podenos suponer que la cantidad de iteraciones es innita, es decir,
que la solucin exacta la obtenemos luego de innitas iteraciones. Como esto es imposible de
hacer, lo que se hace es iterar hasta que la solucin est dentro de las tolerancias impuestas.
Para analizar estos mtodos partamos de denirlos en forma matricial. Sabemos que
nuestro sistema se expresa como
Ax = B,
o, lo que es lo mismo, como
B Ax = 0.
En consecuencia, podemos sumar en ambos miembros Px sin cambiar la igualdad. Nos queda
que
Px = Px Ax +B Px = (P A) x +B.
Si despejamos x de la expresin anterior, nos queda:
x = P
1
(P A) x +P
1
B,
que puede escribirse como
x =
_
P
1
P P
1
A
_
x +P
1
B =
_
I P
1
A
_
x +P
1
B,
Curso 008 PRELIMINAR - 39 -
2.10. Mtodos iterativos Anlisis Numrico I
a partir del cual se puede obtener el mtodo iterativo para resolver un sistema de ecuaciones,
que toma la siguiente forma:
x
(n+1)
=
_
I P
1
A
_
x
(n)
+P
1
B,
donde n es la iteracin.
La expresin anterior puede escribirse en forma general como
x
(n+1)
= Tx
(n)
+C,
donde
T = I P
1
A y C = P
1
B.
Con esta ltima expresin podemos defnir dos tipos de mtodos iterativos: los esta-
cionarios, aquellos en los que T y C no sufren modicaciones durante las iteraciones, y los no
estacionarios, aquellos en los que los valores de T y C dependen de la iteracin.
2.10.1. Mtodos estacionarios
Como hemos visto, los mtodos iterativos estacionarios son aquellos en los que T y C son
invariantes, es decir, permanecen constantes en las sucesivas iteraciones necesarias para hallar
la solucin.
Supongamos por un momento que conocemos nuestra solucin exacta x. Entonces
podemos decir que:
x = x
(n+1)
+e
(n+1)

x
(n+1)
+e
(n+1)
= T
_
x
(n)
+e
(n)
_
+C
= Tx
(n)
+C
. .
x
(n+1)
+Te
(n)
= x
(n+1)
+Te
(n)

e
(n+1)
= Te
(n)
.
De la ltima expresin podemos deducir que:
e
(n+1)
= Te
(n)
= TTe
(n1)
= T
2
e
(n1)
= . . . = T
n+1
e
(0)
,
expresin que nos indica que para que un mtodo iterativo estacionario sea convergente se debe
cumplir que |T| < 1, y que |T| << 1 para que la convergencia sea rpida.
Mtodo de Jacobi
El mtodo estacionario ms sencillo es el Mtodo de Jacobi. Si denimos que A = L +
D +U, este mtodo es aqul que dene P = D. Por lo tanto, podemos escribir que:
x
(n+1)
=
_
I D
1
A
_
x
(n)
+D
1
B
=
_
I D
1
(L +D +U)

x
(n)
+D
1
B
= [I D
1
D
. .
I
D
1
(L +U)]x
(n)
+D
1
B
= D
1
_
B (L +U)x
(n)
_
,
donde L, D y U tienen la siguiente forma:
L =
_

_
0 0 . . . 0
a
21
0 . . . 0
. . . . . . . . . . . . . . . . . . . . .
a
m1
. . . a
m m1
0
_

_
, D =
_

_
a
11
0 . . . 0
0 a
22
. . . 0
. . . . . . . . . . . . . . . . . . .
0 0 . . . a
mm
_

_
y U =
_

_
0 a
12
. . . a
1m
. . . . . . . . . . . . . . . . . . . .
0 . . . 0 a
m1 m
0 . . . 0 0
_

_
.
- 40 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
En su forma tradicional este mtodo se expresa como:
x
(n+1)
i
=
b
i

i1

j=1
a
ij
x
j

j=i+1
a
ij
x
j
a
ii
.
En s, el mtodo consiste en suponer una solucin inicial, generalmente el vector nulo
(x = [0]), e iterar hasta obtener la solucin, usando siempre el vector obtenido en el paso
anterior. Para analizar la convergencia, debemos recordar algunas deniciones.
Denicin 2.6. Una matriz A se denomina diagonal dominante si se cumple que
[a
ii
[
n

j=1
j=i
[a
ij
[ .
Denicin 2.7. Una matriz A se denomina estrictamente diagonal dominante si se cumple que
[a
ii
[ >
n

j=1
j=i
[a
ij
[ .
Denicin 2.8. Una matriz A se denomina diagonal dominante en forma irreductible si se
cumple que
[a
ii
[
n

j=1
j=i
[a
ij
[ ,
para i = 1; 2; . . . ; n y en al menos una la que
[a
kk
[ >
n

j=1
j=k
[a
kj
[ .
El mtodo de Jacobi converge rpidamente si la matriz A es estrictamente diagonal domi-
nante. En cambio, la convergencia es lenta si la matriz A es cualquiera de las otras dos. Final-
mente, si la matriz A no cumple con ninguna de las deniciones anteriores, el mtodo de Jacobi
no converge.
Mtodo de Gauss-Seidel
Cuando el mtodo de Jacobi es convergente, esta convergencia es muy lenta. Para mejorar
esta velocidad de convergencia, imaginemos que usamos parte de los resultados ya obtenidos en el
obtencin de los siguientes, es decir, obtener el x
i
aprovechando los x
j
para j < i. Este mtodo se
conoce como mtodo de Gauss-Seidel y resulta de denir P = D+L. Desarrollemos la expresin
nal sabiendo que Px
(n+1)
= Px
(n)
Ax
(n)
+B:
(D +L)x
(n+1)
= [(D +L) A] x
(n)
+B
= [(D +L) (L +D +U)] x
(n)
+B
= [D +L L D U] x
(n)
+B
= B Ux
(n)

Dx
(n+1)
= B Lx
(n+1)
Ux
(n)

x
(n+1)
= D
1
_
B Lx
(n+1)
Ux
(n)
_
.
Curso 008 PRELIMINAR - 41 -
2.10. Mtodos iterativos Anlisis Numrico I
En su forma tradicional el mtodo se escribe de la siguiente manera:
x
(n+1)
i
=
b
i

i1

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

n

j=i+1
a
ij
x
(n)
j
a
ii
.
Este mtodo converge para las mismas condiciones impuestas al mtodo de Jacobi. Se
puede asegurar que si el mtodo de Gauss-Seidel converge, tambin lo hace el de Jacobi, pero la
inversa no se cumple. En particular, este mtodo resulta convergente con matrices simtricas y
denidas positivas.
Mtodo de las sobrerrelajaciones sucesivas (SOR)
Si bien Gauss-Seidel es ms rpido que Jacobi, la velocidad de convergencia no es muy
alta. Busquemos algn mtodo que nos mejore esta velocidad. Partamos nuevamente de la ex-
presin general Px
(n+1)
= Px
(n)
Ax
(n)
+B. Si reordenamos un poco la expresin tenemos:
Px
(n+1)
= Px
(n)
+B Ax
(n)
. .
R
(n)
= Px
(n)
+R
(n)
,
que podemos escribir tambin como
x
(n+1)
= P
1
P
. .
I
x
(n)
+P
1
R
(n)
= x
(n)
+P
1
R
(n)
.
La idea es buscar una matriz P que nos mejore la velocidad de convergencia. Supongamos,
entonces, que tomamos P = L +
1

D. Si partimos de la expresin conocida tenemos que:


_
1

D +L
_
x
(n+1)
=
__
1

D +L
_
A
_
x
(n)
+B
=
__
1

D +L
_
(L +D +U)
_
x
(n)
+B
=
_
1

D +L L D U
_
x
(n)
+B
= B
_
1
1

_
Dx
(n)
Ux
(n)

Dx
(n+1)
= B Lx
(n+1)

_
1
1

_
Dx
(n)
Ux
(n)

x
(n+1)
=
_
1
1

_
D
1
D
. .
I
x
(n)
+D
1
_
B Lx
(n+1)
Ux
(n)
_
= (1 )x
(n)
+D
1
_
B Lx
(n+1)
Ux
(n)
_
= (1 )x
(n)
+ x
(n+1)
GS
.
Este mtodo se conoce como Mtodo de las sobrerrelajaciones sucesivas (o SOR por sus
siglas en ingls), y pondera el x
(n)
con el x
(n+1)
obtenido con el mtodo de Gauss-Seidel, tomando
como factor de ponderacin el coeciente . En su forma tradicional se suele escribir como:
x
(n+1)
i
= (1 )x
(n)
+
b
i

i1

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

n

j=i+1
a
ij
x
(n)
j
a
ii
.
- 42 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
En este mtodo la velocidad de convergencia est dada por el . Se puede asegurar que
existe un valor que hace mxima la velocidad de convergencia para un sistema dado, que puede
ser estimado conociendo el radio espectral de la matriz de Jacobi. Si observamos con detenimiento
veremos que el mtodo de Gauss-Seidel es un caso especial del SOR, pues surge de tomar = 1.
En efecto, si = 1 tenemos:
x
(n+1)
i
= (1 1)x
(n)
+
b
i

i1

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

n

j=i+1
a
ij
x
(n)
j
a
ii
=
b
i

i1

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

n

j=i+1
a
ij
x
(n)
j
a
ii
,
que es el mtodo de Gauss-Seidel.
En realidad, al imponer que 0 < < 2 existen dos mtodos: cuando 0 < < 1, estamos
en presencia de un mtodo de subrelajacin, tambin conocido como mtodo de Jacobi modicado,
en tanto que cuando 1 < < 2, se trata de un mtodo de sobrerrelajacin propiamente dicho.
En general, estos mtodos convergen mucho ms rpido que los otros dos, y puede decirse que
cuando Gauss-Seidel no converge, utilizando un < 1 se logra una mejor convergencia que con
el mtodo de Jacobi.
Criterios de interrupcin
Hasta ac hemos visto los distintos mtodos iterativos estacionarios ms tradicionales
que se aplican para resolver sistems de ecuaciones lineales. Pero no hemos analizado los criterios
para interrumpir dichas iteraciones. Dado que los mtodos convergen a una solucin cuando
n , es decir, que se debe dar que x x
(n)
= 0 cuando n , entonces podemos tomar
como criterios para interrumpir las iteraciones, que xx
(n)
< Tol, siendo Tol una valor denido
arbitrariamente, generalmente relacionado con la precisin utilizada (). Existen varios criterios
que pueden aplicarse. Estos son:
1. Que la norma innita del vector r
(n)
sea menor a la tolerancia, esto es:
_
_
_r
(n)
_
_
_

< Tol.
2. Que la norma innita del error absoluto entre dos soluciones sucesivas de x sea menor a la
tolerancia, es decir, que:
_
_
_x
(n)
x
(n1)
_
_
_

< Tol.
3. Que la norma innita del error relativo entre dos soluciones sucesivas sea menor a la
tolerancia, o sea:
_
_
x
(n)
x
(n1)
_
_

_
_
x
(n)
_
_

< Tol.
El mejor de los criterios es ltimo, pues hemos visto que es el error relativo el que mejor
representa la incidencia del error en los resultados.
2.10.2. Convergencia de los mtodos estacionarios
Hemos dicho que los mtodos de Jacobi y Gauss-Seidel convergen para matrices A es-
trictamente diagonal dominantes. Los siguientes teoremas aseguran la convergencia de ambos
mtodos.
Curso 008 PRELIMINAR - 43 -
2.10. Mtodos iterativos Anlisis Numrico I
Teorema 2.3. Si A es una matriz de n n, entonces se cumple que:
1. |A|
2
=
_

_
A
T
A
_
1/2
.
2. (A) |A|, para toda norma natural.
Teorema 2.4. Si la matriz A es estrictamente diagonal dominante, entonces con cualquier elec-
cin de x
(0)
, tanto el mtodo de Jacobi como el de Gauss-Seidel dan las sucesiones
_
x
(k)
_

k=0
que convergen a una nica solucin del sistema Ax = B.
Teorema 2.5. Si a
ij
0 para cada i ,= j, y si a
ii
> 0 para cada i = 1; 2; . . . ; n, entonces ser
vlida una y slo una de las siguientes armaciones:
1. 0 (T
G
) < (T
J
) < 1;
2. 1 < (T
J
) < (T
G
);
3. (T
J
) = (T
G
) = 0;
4. (T
J
) = (T
G
) = 1;
donde T
J
es la matriz de Jacobi, y T
G
es la matriz de Gauss-Seidel.
Para analizar la convergencia del mtodo de las sobrerrelajaciones sucesivas se deben
tener en cuenta estos otros teoremas.
Teorema 2.6. Para cualquier x
(0)
'
n
, la sucesin
_
x
(k)
_

k=0
denida por
x
(k+1)
= Tx
(k)
+C, para cada k 1,
converge en la solucin nica de x = Tx +C si y slo si (T) < 1.
Este teorema nos dice que cualquier mtodo iterativo converge cuando el radio espectral
de la matriz T es menor a 1, tal como vimos al comenzar. Recordemos que la denicin del radio
espectral de una matriz A cualquiera es
(A) = max[[ ,
donde es un autovalor de A. En efecto, habamos dicho que para que cualquier mtodo iterativo
sea convergente, se deba cumplir que |T| < 1. Como (T) |T| < 1, si los mdulos de los
autovalores de T son menores que 1, entonces los mtodo convergen a la solucin buscada.
Teorema 2.7. Si A es una matriz denida positiva y si 0 < < 2, entonces el mtodo SOR
converge para cualquier eleccin del vector aproximado x
(0)
.
Teorema 2.8. Si A es una matriz denida positiva y tridiagonal, entonces (T
G
) = [(T
J
)]
2
< 1,
y la eleccin ptima de para el mtodo SOR es
=
2
1 +
_
1 [(T
J
)]
2
.
Este ltimo vincula los autovalores de la matriz T
J
, es decir la matriz T del mtodo de
Jacobi, con el valor de . Aunque se reere a una matriz tridiagonal, es posible ver que cuanto
menor sea el valor de (T
J
) ms se acerca a 1. (Si (T
J
)
2
es mayor que uno, entonces no hay
un real que haga convergente al mtodo.)
- 44 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
2.10.3. Mtodos no estacionarios
Vimos en el punto anterior los mtodos estacionarios, aquellos en los cuales las matrices
T y C se mantienen invariantes en las sucesivas iteraciones. Existen otros mtodos en los cuales
estas dos matrices s se van modicando en las sucesivas iteraciones. Son los llamados mtodos
no estacionarios.
Supongamos que en nuestra expresin general, denimos que P =
1

I. Si reemplazamos
obtenemos:
x
(i+1
= (I IA) x
(i)
+IB,
= x
(i)
+
_
B Ax
(i)
_
,
= x
(i)
+r
(i)
.
Tenemos ahora un mtodo iterativo que depende de un parmetro para ir corrigiendo
el vector solucin. Nos falta denir ese parmetro. Pero tambin depende de otro vector, el ya
visto residuo. Por lo tanto tenemos dos elementos que podemos manejar para obtener una mejor
aproximacin. Veremos a continuacin algunos de los mtodos no estacioanrios ms sencillos que
han servido de base para el desarrollo de los ms modernos y complejos.
Mtodo de los residuos mnimos
Una primera aproximacin para esta expresin es buscar que el vector r
(i+1)
sea mnimo
en cada iteracin. De esta manera siempre tenderemos a la solucin del sistema, pues el ideal
es que sea nulo. Una forma de obtener el mnimo es minimizar la norma eucldea, es decir, el
mdulo de r
(i+1)
. Partamos precisamente de la denicin del mdulo:
_
_
_r
(i+1)
_
_
_
2
=
_
_
_B Ax
(i+1)
_
_
_
2
.
Si lo elevamos al cuadrado tenemos
_
_
_r
(i+1)
_
_
_
2
2
=
_
_
_B Ax
(i+1)
_
_
_
2
2
_
_
_r
(i+1)
_
_
_
2
2
=
_
_
_B A
_
x
(i)
+r
(i)
__
_
_
2
2
.
Como queremos minimizar el mdulo de r
(i+1)
, lo mismo es minimizar el cuadrado del mdulo.
Para ello vamos a derivar la tlima expresin respecto de , que es nuestro parmetro, y lo
igualaremos a cero. As tenemos que:
2
_
Ar
(i)
_
T

_
B Ax
(i)
Ar
(i)
_
= 0
_
Ar
(i)
_
T

_
r
(i)
Ar
(i)
_
= 0
_
Ar
(i)
_
T
r
(i)
=
_
Ar
(i)
_
T
Ar
(i)

i
=
_
Ar
(i)
_
T
r
(i)
_
Ar
(i)
_
T
Ar
(i)
.
Este coeciente
i
nos asegura que el residuo sea mnimo. As nuestro esquema iterativo
queda de la siguiente forma:
r
(i)
= B Ax
(i)

i
=
_
Ar
(i)
_
T
r
(i)
_
Ar
(i)
_
T
Ar
(i)
x
(i+1)
= x
(i)
+
i
r
(i)
.
Curso 008 PRELIMINAR - 45 -
2.10. Mtodos iterativos Anlisis Numrico I
Este mtodo slo es convergente si se cumple que la matriz A es simtrica y denida
positiva, pues de lo contrario no obtendremos un mnimo. (Una demostracin de esto puede
verse en [10].)
Existe un segundo algoritmo que tiene la siguiente forma:
r
(0)
= B Ax
(0)

i
=
_
Ar
(i)
_
T
r
(i)
_
Ar
(i)
_
T
Ar
(i)
x
(i+1)
= x
(i)
+
i
r
(i)
r
(i+1)
= r
(i)

i
Ar
(i)
.
En ambos algoritmos las iteraciones nalizan cuando r
(i+1)
< Tol, pues r
(n)
= 0 para
n .
Mtodo del descenso ms rpido
Un segundo mtodo no estacionario es el denominado mtodo del descenso ms rpido.
Este mtodo mejora la aproximacin obtenida en el punto anterior. Para poder deducirlo antes
necesitamos saber qu es una forma cuadrtica.
Forma cuadrtica: Es una funcin vectorial que se expresa como:
f(x) =
1
2
x
T
Ax B
T
x +C,
similar a una ecuacin de segundo grado en el campo escalar, donde A es una matriz, x y B son
vectores y C es una constante (escalar).
Supongamos ahora que queremos hallar el mnimo (o mximo) de esta funcin. Entonces
debemos obtener su derivada e igualarla a cero, es decir, hacer que:
d f(x)
dx
=
1
2
A
T
x +
1
2
Ax B = 0.
Si A es una matriz simtrica entonces A = A
T
, y podemos escribir:
d f(x)
dx
= Ax B = 0,
que no es otra cosa que nuestro sistema de ecuaciones lineales original. Si adems A es denida
positiva, nos aseguramos que la solucin que se obtenga haga mnima a la forma cuadrtica. En
consecuencia, para aplicar este mtodo, la matriz A tambin debe ser simtrica denida positiva.
Recordemos tambin qu es el gradiente de una funcin vectorial. Para una funcin f(x)
el gradiente se expresa como:
d f(x)
dx
= f

(x) =
_

_
f(x)
x
1
f(x)
x
2
.
.
.
f(x)
x
n
_

_
El gradiente nos da una idea de la pendiente o del crecimiento de la forma cuadrtica.
Si queremos hallar el valor mnimo de la funcin f(x) partiendo de una solucin inicial, lo ideal
sera utilizar estas direcciones de mayor crecimiento pero en sentido inverso, es decir, usar f

(x),
que puede escribirse como:
f

(x) = B Ax.
- 46 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Pero como estamos iterando, tenemos en realidad que:
f

(x
(i)
) = B Ax
(i)
= r
(i)
,
que resulta ser el residuo. En consecuencia, el residuo no es otra cosa que la direccin descendente
ms empinada para llegar al mnimo, o sea, la del descenso ms rpido. Como partimos de un
vector inicial, lo que nos interesa es obtener un coeciente que optimice cada paso utilizando la
direccin ms empinada y as obtener una aproximacin i+1 ms cercana a la solucin exacta.
Para ello partamos de la expresin general
x
(i+1)
= x
(i)
+r
(i)
.
Para obtener el , minimizaremos la funcin cuadrtica. As tenemos que:
df(x
(i+1)
)
d
= f

(x
(i+1)
)
T
dx
(i+1)
d
= f

(x
(i+1)
)
T
r
(i)
= 0,
lo que equivale a decir que el residuo y el gradiente son ortogonales. Como adems sabemos que
r
(i+1)
= f

(x
(i+1)
, entonces tenemos:
r
(i+1)
r
(i)
= 0
_
B Ax
(i+1)
_
T
r
(i)
= 0
_
B A
_
x
(i)
+
i
r
(i)
__
T
r
(i)
= 0
_
B Ax
(i)
_
T
r
(i)

i
_
Ar
(i)
_
T
r
(i)
= 0
_
B Ax
(i)
_
T
r
(i)
=
i
_
Ar
(i)
_
T
r
(i)
r
(i)
T
r
(i)
=
i
r
(i)
T
Ar
(i)

i
=
r
(i)
T
r
(i)
r
(i)
T
Ar
(i)
.
As, nuestro nuevo algoritmo es:
r
(0)
= B Ax
(0)

i
=
r
(i)
T
r
(i)
r
(i)
T
Ar
(i)
x
(i+1)
= x
(i)
+
i
r
(i)
r
(i+1)
= r
(i)

i
Ar
(i)
.
El criterio para interrupir las iteraciones es el mismo al aplicado en residuos mnimos.
Mtodo del gradiente conjugado
El mtodo anterior es una mejora notable al mtodo de los residuos mnimos. No slo
mejora la velocidad de convergencia sino que reduce la cantidad de operaciones. Sin embargo
tiene una desventaja importante: suele usar varias veces la misma direccin de acercamiento.
Esto signica que no utiliza bien las direcciones ms empinadas. Veamos por qu.
Vimos que el vector residuo es el gradiente de nuestra forma cuadrtica. Supongamos que
sta sea solamente de dos variables, es decir, un paraboloide de revolucin. El gradiente ser un
plano que pasa por un punto cuya inclinacin nos da una idea del crecimiento (decrecimiento)
en ese punto. Pero en realidad lo que tenemos son varias direcciones posibles que descienden
rpidamente hacia el mnimo. El mtodo anterior slo exige que los residuos sean ortogonales,
Curso 008 PRELIMINAR - 47 -
2.10. Mtodos iterativos Anlisis Numrico I
pero no se ocupa de las direcciones con las cuales se aproxima al siguiente resultado, con lo cual
puede repetir cualquier direccin en el proceso iterativo hasta obtener la solucin. As pierde
eciencia.
La forma ms rpida de llegar sera usar direcciones que no se repitan durante el proceso
de descenso. Cul sera el conjunto de direcciones que haran ms rpido ese descenso? La
respuesta es: tomemos un conjunto de direcciones d
(0)
; d
(1)
; . . . ; d
(n1)
, tales que sean ortogonales
entre s, o sea que se cumpla que:
d
(0)
d
(1)
= 0;
d
(1)
d
(2)
= 0;

d
(i)
d
(j)
= 0, para i ,= j.
Entonces nuestra expresin inicial ser
x
(i+1)
= x
(i)
+ d
(i)
,
en lugar de la vista para el resto de los mtodos.
Como hemos denido que las direcciones que aproximan nuestra solucin son ortogonales,
entonces tambin el error e
(i+1)
debera ser ortogonal, es decir, se debera cumplir que:
d
(i)
T
e
(i+1)
= 0
d
(i)
T

_
e
(i)
+
i
d
(i)
_
= 0
d
(i)
T
e
(i)
+
i
d
(i)
T
d
(i)
= 0
d
(i)
T
e
(i)
=
i
d
(i)
T
d
(i)

i
=
d
(i)
T
e
(i)
d
(i)
T
d
(i)
.
Sin embargo, este algoritmo no es muy til pues debemos conocer el error que estamos
cometiendo para obtener el coeciente
i
. Y si conocemos e
(i+1)
, conocemos la solucin y no
tendra sentido obtener el coeciente .
En lugar de proponer que el error sea ortogonal a la direccin, vamos a proponer que las
direcciones sean conjugadas, tambin llamadas direcciones ortogonales por A. Qu signica esto?
Supongamos por un momento que trabajamos sobre una supercie esfrica similar a un globo, y
dibujamos sobre sta dos lneas que sean ortogonales, por ejemplo, un meridiano y un paralelo,
como se usan en la representacin de la supercie terrestre. Si deformamos nuestro globo de
manera que una dimensin sea ms grande que la otra, manteniendo una constante, formando
un elipsoide de revolucin, las dos lneas seguirn estando, pero no sern ortogonales. Pero si
volvemos a transformar ese globo defomado en esfera otra vez, volvern a ser ortogonales. La idea
del mtodo es partir de la situacin del elipsoide, transformar los vectores de forma de llevarlos
a la esfera, obtener all las direcciones y luego trabajar nuevamente en el elipsoide. De esa forma,
las direcciones slo sern ortogonales en la supercie de la esfera, pero sern conjugadas en el
elipsoide. (Otro ejemplo en ese mismo sentido sera proyectar la esfera sobre un plano, prctica
comn de la cartografa.)
- 48 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Vamos a proponer lo siguiente:
d
(i)
T
r
(i+1)
= 0
d
(i)
T
Ae
(i+1)
= 0
d
(i)
T
A
_
e
(i)
+
i
d
(i)
_
= 0
d
(i)
T
Ae
(i)
+
i
d
(i)
T
Ad
(i)
= 0
d
(i)
T
Ae
(i)
=
i
d
(i)
T
Ad
(i)

i
=
d
(i)
T
Ae
(i)
d
(i)
T
Ad
(i)

i
=
d
(i)
T
r
(i)
d
(i)
T
Ad
(i)
.
Con este coeciente nos aseguramos que nuestro mtodo aplica direcciones de aproximacin sean
conjugadas. Pero nos faltan hallar estas direcciones. Cmo las obtenemos? La forma ms sencilla
es aplicar el mtodo de Gram-Schmidt para ortogonalizar vectores. En este caso lo que haremos es
obtener vectores conjugados a partir de un vector inicial, por lo que la frmula de Gram-Schmidt
queda de la siguiente forma:
d
(i)
= u
(i)
+
i1

j=0

ij
Ad
(j)
,
y el coeciente
ij
lo obtenemos mediante:

ij
=
u
(i)
T
Ad
(j)
d
(j)
T
Ad
(j)
,
siendo u
(i)
el vector a partir del cual obtenemos las direcciones conjugadas (ortogonales por A).
(Vase [11].)
Nos falta denir el vector u
(i)
. Si proponemos al vector r
(i)
tendremos que:
d
(i)
T
r
(i)
= r
(i)
T
r
(i)
,
y entonces, que:

ij
=
r
(i)
T
Ad
(j)
d
(j)
T
Ad
(j)
.
Ahora vamos a obtener el
ij
para poder encontrar nuestras direcciones conjugadas. As,
tenemos.
r
(i)
T
r
(j+1)
= r
(i)
T
r
(j)

j
r
(i)
T
Ar
(j)

j
r
(i)
T
Ar
(j)
= r
(i)
T
r
(j)
r
(i)
T
r
(j+1)
r
(i)
T
Ar
(j)
=
_

_
1

j
r
(j)
T
r
(j)
si i = j

j
r
(j+1)
T
r
(j+1)
si i = j + 1

j+1 j
=
1

j
r
(j+1)
T
r
(j+1)
d
(j)
T
Ad
(j)
Habamos obtenido que:

j
=
d
(j)
T
r
(j)
d
(j)
T
Ad
(j)

j
=
d
(j)
T
Ad
(j)
d
(j)
T
r
(j)
,
Curso 008 PRELIMINAR - 49 -
2.10. Mtodos iterativos Anlisis Numrico I
por lo tanto, nalmente tendremos que:

j+1 j
=
d
(j)
T
Ad
(j)
d
(j)
T
r
(j)
r
(j+1)
T
r
(j+1)
d
(j)
T
Ad
(j)
=
r
(j+1)
T
r
(j+1)
d
(j)
T
r
(j)
=
r
(j+1)
T
r
(j+1)
r
(j)
T
r
(j)
,
pues al d
(j)
lo obtenemos a partir del r
(j)
. Simplicando la notacin tenemos:

j+1
=
r
(j+1)
T
r
(j+1)
r
(j)
T
r
(j)
.
Con este ltimo coeciente tenemos el algoritmo para el mtodo del gradiente conjugado,
que resulta ser:
d
(0)
= r
(0)
= B Ax
(0)

i
=
r
(i)
T
r
(i)
d
(i)
T
Ad
(i)
x
(i+1)
= x
(i)
+
i
d
(i)
r
(i+1)
= r
(i)

i
Ad
(i)

i+1
=
r
(i+1)
T
r
(i+1)
r
(i)
T
r
(i)
d
(i+1)
= r
(i+1)
+
i+1
d
(i)
.
2.10.4. Convergencia de los mtodos no estacionarios
Analizaremos brevemente la convergencia de los mtodos no estacionarios. En primer
lugar nos ocuparemos rpidamente del mtodo de los residuos mnimos, y luego de los otros dos
mtodos.
Mtodo de los residuos mnimos
Ya habamos dicho que para garantizar la convergencia de este mtodo, la matriz A debe
ser denida positiva. El siguiente teorema demuestra esta armacin.
Teorema 2.9. Sea A una matriz denida positiva y sea
=
mn
_
A+A
T
2
_
; = |A|
2
,
entonces el vector r
(i+1)
generado por el mtodo de los residuos mnimos satisface la relacin
_
_
_r
(i+1)
_
_
_
2

_
1

2

2
_
1/2 _
_
_r
(i)
_
_
_
2
,
y el algoritmo correspondiente converge para cualquier valor inicial de x
(0)
.
La demostracin de este teorema puede verse en [9].
Mtodo del descenso ms rpido
Para el anlisis de la convergencia de este mtodo (y el del gradiente conjugado) nos
basaremos en el estudio de los autovalores y autovectores de la matrioz A.
Supongamos que el vector e
(i)
sea un autovector asociado a un autovalor
e
. Entonces el
residuo se puede escribir como:
r
(i)
= Ae
(i)
=
e
e
(i)
,
- 50 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
por lo tanto, es tambin un autovector.
De la misma forma podemos obtener e
(i+1)
, pues es:
e
(i+1)
= e
(i)
+
r
(i)
T
r
(i)
r
(i)
T
Ar
(i)
r
(i)
= e
(i)
+
r
(i)
T
r
(i)

e
r
(i)
T
r
(i)
_

e
e
(i)
_
= 0.
Si uno elige
i
=
e
, basta con una iteracin para obtener el resultado exacto! Pero
en realidad, debemos expresar e
(i)
como una combinacin lineal de autovectores, es decir,
e
(i)
=
n

j=1

j
v
(j)
,
donde los v
(j)
son vectores ortonormales (elegidos as por conveniencia), y los
j
son las longitudes
de cada vector. Entonces nos queda
r
(i)
= Ae
(i)
=
n

j=1

j
v
(j)
_
_
_e
(i)
_
_
_
2
= e
(i)
T
e
(i)
=

j
2
e
(i)
T
Ae
(i)
=
_
_

j
v
(j)
T
_
_
_
_

j
v
(j)
_
_
=

j
2

j
_
_
_r
(i)
_
_
_
2
= r
(i)
T
r
(i)
=

j
2

j
2
r
(i)
T
Ar
(i)
=

j
2

j
3
Esta ltima expresin la obtenemos al tener en cuenta que el r
(i)
tambin se puede
expresar como la combinacin lineal de autovecores, y que su longitud es
j

j
. Si volvemos a
la expresin del vector e
(i+1)
tenemos:
e
(i+1)
= e
(i)
+
r
(i)
T
r
(i)
r
(i)
T
Ar
(i)
r
(i)
= e
(i)
+

j
2

j
2

j
2

j
3
r
(i)
,
que nos muestra que
i
es un promedio ponderado de
1

j
.
Curso 008 PRELIMINAR - 51 -
2.10. Mtodos iterativos Anlisis Numrico I
Para analizar la convergencia en forma ms general vamos a denir primero la norma
energtica |e|
A
=
_
e
T
Ae
_
1/2
. Con esta norma tenemos:
_
_
_e
(i+1)
_
_
_
2
A
= e
(i+1)
T
Ae
(i+1)
=
_
e
(i)
T
+
i
r
(i)
T
_
A
_
e
(i)
+
i
r
(i)
_
= e
(i)
T
Ae
(i)
+ 2
i
r
(i)
T
Ae
(i)
+
i
2
r
(i)
T
Ar
(i)
=
_
_
_e
(i)
_
_
_
2
A
+ 2
r
(i)
T
r
(i)
r
(i)
T
Ar
(i)
_
r
(i)
T
r
(i)
_
+
_
r
(i)
T
r
(i)
r
(i)
T
Ar
(i)
_
2
r
(i)
T
Ar
(i)
=
_
_
_e
(i)
_
_
_
2
A

_
r
(i)
T
r
(i)
_
2
r
(i)
T
Ar
(i)
=
_
_
_e
(i)
_
_
_
2
A
_

_
1
_

2
j

2
j
_
2

2
j

3
j

2
j

j
_

_
=
_
_
_e
(i)
_
_
_
2
A

2
con
2
= 1
_

2
j

2
j
_
2

2
j

3
j

2
j

j
Esto quiere decir que el error de la iteracin i + 1 es funcin de los autovalores de A. Como lo
que interesa es un lmite superior del error, y no el error en si mismo, si denimos que
=

max

mn
,
se puede demostrar que
=
1
+ 1
,
con lo cual tenemos
_
_
_e
(i)
_
_
_
A

_
1
+ 1
_
i _
_
_e
(0)
_
_
_
A
.
Esta demostracin se puede ver en [11].
Mtodo del gradiente conjugado
Para el mtodo del gradiente conjugado vale el mismo desarrollo hecho para el descenso
ms rpido, pero con una leve modicacin se llega a que
_
_
_e
(i)
_
_
_
A
2
_
1

+ 1
_
i _
_
_e
(0)
_
_
_
A
.
Podemos decir que el mtodo converge ms rpido que el mtodo del descenso ms rpido,
pues en el primero la convergencia depende de

, mientras que en el segundo depende de
. Puesto que es equivalente a la condicin de A, nalmente tenemos que una matriz bien
condicionada converge rpidamente a la solucin, en tanto que no lo hace si est mal condicionada.
Por esta razn, este mtodo rara vez se aplica directamente sobre el sistema Ax = B, sino que se
precondiciona a la matriz A con una matriz M, formando el sistema M
T
Ax = M
T
B de manera
tal que M
T
A suele tener un nmero de condicin mucho menor que A.
Por otra parte, si la matriz est bien condicionada, el mtodo del gradiente conjugado
converge luego de n iteraciones. Es ms, si no hubieran problemas derivados de la representacin
numrica en las computadoras, el mtodo convergera despus de k iteraciones, siendo k el nmero
de autovalores no repetidos de A.
- 52 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
2.10.5. Aspectos computacionales
En general, obtener una solucin eciente de un sistema de ecuaciones lineales por medio
de mtodos iterativos depende fuertemente de la eleccin del mtodo. Si bien podemos esperar
una menor eciencia de estos mtodos respecto de los mtodos directos, los mtodos iterativos
suelen ser ms fciles de implementar y, como no hay que factorizar la matriz, permiten resolver
sistemas mucho ms grandes que los directos.
Como resumen de los mtodos vistos, tenemos lo siguiente:
1. Mtodo de Jacobi: Muy fcil de usar, pero slo converge si la matriz es estrictamente
diagonal dominante. Actualmente slo se lo considera como una forma de introduccin a
los mtodos iterativos.
2. Mtodo de Gauss-Seidel: Converge ms rpido que el de Jacobi, pero no puede competir
con los mtodos no estacionarios. Tiene la ventaja de que tambin converge si la matriz
del sistema es simtrica y denida positiva.
3. Mtodo de las sobrerrelajaciones sucesivas: Converge ms rpido que Gauss-Seidel
si > 1, y suele converger con < 1 cuando Gauss-Seidel no converge. Como vimos, la
velocidad de convergencia depende de , valor que no es fcil de obtener en forma analtica.
Obtener ese valor puede llevar a perder parte de esa ventaja.
4. Mtodo de los residuos mnimos: Converge si la matriz A del sistema es denida
positiva y mejora si adems es simtrica. Es ms fcil de programar pues hay que hacer
operaciones matriciales (vectoriales). La convergencia puede ser lenta, similar a Jacobi.
5. Mtodo del descenso ms rpido: Se aplica a sistemas con matrices simtricas denidas
positivas. Converge ms rpido que el anterior pero si la matriz no est bien condiciona-
da, no converge. Es ms fcil de programar que el anterior porque reduce la cantidad de
operaciones matriciales. Es equivalente a Gauss-Seidel.
6. Mtodo del gradiente conjugado: Se aplica a matrices simtricas denidas positivas.
Cuando la matriz est bien condicionada y adems tiene k autovalores repetidos y bien
distribuidos, converge para n k iteraciones (convergencia supralineal). Por este motivo,
suele usarse precondicionado para conseguir convergencias supralineales. Es ms fcil de
implementar que los anteriores mtodos no estacionarios, pero suele tener problemas con
el error de redondeo.
2.11. Errores de los mtodos iterativos
En este punto analizaremos fundamentalmente los errores de los mtodos iterativos esta-
cionarios, pues son conceptualmente ms fciles de entender. Empezaremos por el error de trun-
camiento.
Supongamos que x sea la solucin de nuestro sistema de ecuaciones y x
(k+1)
el resultado
luego de k + 1 iteraciones. Entonces podemos denir el error como
x
(k+1)
x = T
_
x
(k)
x
_
.
Si sumamos y restamos Tx
(k+1)
tenemos
x
(k+1)
x = T
_
x
(k)
x
_
+Tx
(k+1)
Tx
(k+1)
= T
_
x
(k)
x
(k+1)
_
+T
_
x
(k+1)
x
_
.
Curso 008 PRELIMINAR - 53 -
2.11. Errores de los mtodos iterativos Anlisis Numrico I
Si tomamos las normas tenemos que
_
_
_x
(k+1)
x
_
_
_ |T|
_
_
_x
(k+1)
x
(k)
_
_
_ +|T|
_
_
_x
(k+1)
x
_
_
_
(1 |T|)
_
_
_x
(k+1)
x
_
_
_ |T|
_
_
_x
(k+1)
x
(k)
_
_
_
_
_
_x
(k+1)
x
_
_
_
|T|
(1 |T|)
_
_
_x
(k+1)
x
(k)
_
_
_ .
Por lo tanto, el error de truncamiento est dado por
E
T

=
|T|
(1 |T|)
_
_
_x
(k+1)
x
(k)
_
_
_ .
Para el caso del error inherente partimos de
x
(k+1)
= Tx
(k)
+C.
Si consideramos que los errores inherentes del sistema, el resultado que obtendremos ser
en realidad x
(k+1)
. Supongamos que desechamos todos los errores de los pasos anteriores, es decir,
que x
(k)
x
(k)
, entonces tenemos que
x
(k+1)
= x
(k)
x
(k)
= (T T)x
(k)
+ (C C).
Como x = Tx +C, podemos hacer lo siguiente:
x
(k+1)
x = (T T)x
(k)
+ (C C) Tx C
= T
_
x
(k)
x
_
Tx
(k)
C
= T
_
x
(k)
x
_
Tx
(k)
C +Tx
(k+1)
Tx
(k+1)
= T
_
x x
(k+1)
_
+T
_
x
(k+1)
x
(k)
_
Tx
(k)
C.
Si nuevamente tomamos las normas, obtenemos
_
_
_x
(k+1)
x
_
_
_ |T|
_
_
_x
(k+1)
x
_
_
_ +|T|
_
_
_x
(k+1)
x
(k)
_
_
_ +|T|
_
_
_x
(k)
_
_
_ +|C|
(1 |T|)
_
_
_x
(k+1)
x
_
_
_ |T|
_
_
_x
(k+1)
x
(k)
_
_
_ +|T|
_
_
_x
(k)
_
_
_ +|C|
_
_
_x
(k+1)
x
_
_
_
|T|
1 |T|
_
_
_x
(k+1)
x
(k)
_
_
_ +
|T|
1 |T|
_
_
_x
(k)
_
_
_ +
|C|
1 |T|
.
Si analizamos en detalle esta ltima expresin, vemos que se repite el error de truncamien-
to (primer trmino de la derecha). En consecuencia, el error inherente est dado por
E
I

=
|T|
1 |T|
_
_
_x
(k)
_
_
_ +
|C|
1 |T|
.
Finalmente, analicemos el error de redondeo. Una vez ms, partamos de la expresin
x
(k+1)
= Tx
(k)
+C,
y nuevamente supongamos que lo que obtenemos es en realidad es x
(k+1)
y que x
(k)
x
(k)
.
Entonces nos queda:
x
(k+1)
= Tx
(k)
+C.
Para cada compnente de x
(k+1)
tenemos
x
(k+1)
i
x
(k+1)
i
=
_
_

_
_
n

j=1
t
ij
x
(k)
j
_
_
+c
i
_
_
(1
i
) .
- 54 - PRELIMINAR Curso 008
Anlisis Numrico I 2. Sistemas de Ecuaciones Lineales
Si hacemos un anlisis retrospectivo del error (backward error), y asumimos que n
0, 01, nos queda que
x
(k+1)
i
=
_
_

j
t
ij
x
(k)
j
1, 01(n + 2 j)
j
_
_
(1 +
i
) +x
(k+1)
i

i
,
con [
j
[ 1 y [
i
[ .
Consideremos ahora el hecho de que generalmente las matrices de los sistemas son ralas.
Entonces podemos denir que
p = max
1in
p
i
, con p
i
: cantidad de elementos no nulos en una la.
q = max
1i,jn
[t
ij
[,
entonces, si tomamos normas nos queda
_
_
_x
(k+1)
i
_
_
_ q
_
_
_x
(k)
_
_
_ 1, 01
_
_
p

j=1
(p + 2 j)
_
_
+
_
_
_x
(k+1)
i
_
_
_ ,
y como x
(k)
x
(k+1)
, podemos escribir que
_
_
_x
(k+1)
i
_
_
_
_
_
x
(k)
_
_

_
q 1, 01
p
2
+ 3p
2
+ 1
_
.
Ahora estimemos la diferencia x
(k+1)
x. Sabemos que
x
(k+1)
= Tx
(k)
+C x
(k+1)
,
entonces
x
(k+1)
x = Tx
(k)
+C x
(k+1)
Tx C
= T
_
x
(k)
x
_
x
(k+1)
.
Si nuevamente sumamos y restamos Tx
(k+1)
, obtenemos
x
(k+1)
x = T
_
x
(k)
x
(k+1)
_
+T
_
x
(k+1)
x
_
x
(k+1)
.
Una vez ms, tomemos las normas, con lo cual nos queda
_
_
_ x
(k+1)
x
_
_
_ = |T|
_
_
_x
(k+1)
x
(k)
_
_
_ +|T|
_
_
_ x
(k+1)
x
_
_
_ +
_
_
_x
(k+1)
_
_
_
(1 |T|)
_
_
_ x
(k+1)
x
_
_
_ = |T|
_
_
_x
(k+1)
x
(k)
_
_
_ +
_
_
_x
(k+1)
_
_
_ +
_
_
_ x
(k+1)
x
_
_
_ =
|T|
1 |T|
_
_
_x
(k+1)
+ x
(k)
_
_
_
_
_
x
(k+1)
_
_
1 |T|
Puesto que
_
_
_x
(k+1)
i
_
_
_
_
q 1, 01
p
2
+3p
2
+ 1
_
_
_
x
(k)
_
_
y como el primer trmino corresponde
al error de truncamiento, nos queda que
E
R

_
_
x
(k)
_
_
1 |T|
_
q 1, 01
p
2
+ 3p
2
+ 1
_
.
Curso 008 PRELIMINAR - 55 -
2.12. Notas nales Anlisis Numrico I
Finalmente, el error total al aplicar un mtodo iterativo estacionario es la suma de todos
los errores, es decir,
_
_
_x
(k+1)
x
_
_
_ E
T
+E
I
+E
R

|T|
(1 |T|)
_
_
_x
(k+1)
x
(k)
_
_
_ +
|T|
1 |T|
_
_
_x
(k)
_
_
_ +
|C|
1 |T|
+
_
_
x
(k)
_
_
1 |T|
_
q 1, 01
p
2
+ 3p
2
+ 1
_

_
_
_x
(k+1)
x
_
_
_
1
1 |T|
_
|T|
_
_
_x
(k+1)
x
(k)
_
_
_ +|T|
_
_
_x
(k)
_
_
_ +|C|
+
_
_
_x
(k)
_
_
_
_
q 1, 01
p
2
+ 3p
2
+ 1
_

_
.
Como hemos visto en el captulo 1, siempre es conveniente que los errores de truncamiento
e inherentes predominen respecto al de redondeo. En consecuencia, siempre debemos tratar que
E
I
> E
T
> E
R
, es decir, que el error de redondeo sea el de menor incidencia, y si es posible,
despreciable.
3
2.12. Notas nales
Los mtodos vistos no son los nicos disponibles para resolver sistemas de ecuaciones
lineales. Dentro de los mtodos directos tambin estn el mtodo QR y el de la descomposicin
por el valor singular, mtodo muy usado con matrices muy mal condicionadas, aunque algunos
autores sostienen que debera ser un mtodo bsico, igual que eliminacin de Gauss.
Algo similar ocurre con los mtodos iterativos, particularmente con los no estacionarios.
Adems de los tres que hemos visto, estn el mtodo de los residuos mnimos generalizado, el
mtodo del gradiente biconjugado y el del gradiente conjugado cuadrado, el mtodo por itera-
ciones de Chebichev, ms otros derivados fundamentalmente a partir del mtodo del gradiente
conjugado y de los residuos mnimos.
La existencia de varios mtodos reeja que la eleccin de uno depende fundamentalmente
de las propiedades de la matriz de coecientes del sistema. Es por esto que cada vez es ms
importante saber qu problema (o fenmeno fsico) est siendo representado con el sistema a
resolver. Si buscamos informacin sobre la utilizacin de cada mtodo, veremos que estn muy
ligados al tipo de problema que se estudia y resuelve.
En muchos campos de la ingeniera, los sistemas de ecuaciones lineales estn directamente
relacionados con la resolucin de ecuaciones diferenciales en derivadas parciales, por eso es que
mtodos para resolver este tipo de problemas, como el de las diferencias nitas o de los elemen-
tos nitos, hayan impulsado el desarrollo de mtodos ms potentes y ms precisos, dado que
mayormente trabajan con matrices de dimensiones muy grandes que adems suelen ser ralas.
Finalmente, quien quiera adentrarse en los mtodos iterativos no estacionarios, el libro de
Y. Saad es una muestra muy interesante de cmo la necesidad de contar con algoritmos cada vez
ms veloces y con capacidad de resolver grandes sistemas de ecuaciones, disparan el desarrollo y
la investigacin de la matemtica aplicada.
3
Gonzlez, en su libro, dice que E
R
> E
T
pero eso se contrapone con lo que arman otros autores. La razn
principal es que el error de redondeo tiene un comportamiento errtico, lo que hace difcil acotarlo. (Ver ejemplo
en el captulo 1 con el error de discretizacin.)
- 56 - PRELIMINAR Curso 008
Anlisis Numrico I 3. Ecuaciones no Lineales
Captulo 3
Ecuaciones no Lineales
3.1. Introduccin
En el captulo anterior vimos como resolver sistemas de ecuaciones lineales (de la forma
Ax = B o Ax B = 0), sistemas cuya solucin es nica. Pero existe una gran cantidad de
problemas que no pueden representarse mediante ecuaciones lineales. Muchas cuestiones que debe
enfrentar la ingeniera no tienen solucin nica (como en los sistemas de ecauciones lineales) o
no se pueden obtener en forma algebraica.
Tomemos el siguiente caso: supongamos que queremos desarrollar una mejora en la costa
y para ello necesitamos un recinto cerrado, el cual vamos a rellenar con arena. Para conseguir ese
recinto necesitamos una pared de contencin que construiremos con tablestacas. Para disear las
tablestacas debemos resolver una ecuacin del tipo a
0
+a
1
x +a
2
x
2
+a
3
x
3
= 0, donde x es la
longitud de hinca, tambin conocida como cha. Esta ecuacin tiene tres soluciones posibles
(tres races). Si bien existe una solucin algebraica para obtener las races de una ecuacin de
tercer grado, en general, es mucho ms prctico resolverla mediante algn mtodo iterativo, y
obtener aquella solucin (riz) que es compatible con el problema.
Como dijimos, estn tambin aquellas ecuaciones que no tienen solucin algebraica y que,
por lo tanto, slo podrn resolverse mediante aproximaciones. Tenemos como ejemplo, calcular
la longitud de onda de una ola martima en aguas poco profundas. La expresin para esto es:
L = L
0
tanh
_
2
L
x
_
,
donde L
0
es la longitud de onda en aguas profundas (x
L
2
) y x es la profundidad del mar.
Esta expresin es vlida para 0 x
L
2
. Como podemos ver, esta ecuacin no tiene solucin
algebraica, y, en consecuencia, el nico modo de obtener la solucin es mediante un mtodo
iterativo. (Cuando x >
L
2
, entonces tanh
_
2
L
x
_
= 1, y L = L
0
.)
Dado que este tipo de problemas son regularmente comunes en la ingeniera, en este
captulo nos ocuparemos de estudiar los distintos mtodos para resolver ecuaciones no lineales,
de manera de obtener resultados muy precisos.
Como repaso, recordemos los teorema del valor medio y del valor intermedio.
Teorema 3.1. (Teorema del valor medio.) Si f C[a; b] y f es diferenciable en (a; b), entonces
existir un nmero c en (a; b) tal que
f

(c) =
f(b) f(a)
b a
.
Teorema 3.2. (Teorema del valor intermedio.) Si f C[a; b] y M es un nmero cualquiera entre
f(a) y f(b), existir un nmero c en (a; b) para el cual f(c) = M.
Curso 008 PRELIMINAR - 57 -
3.2. Mtodo de la biseccin Anlisis Numrico I
3.2. Mtodo de la biseccin
Supongamos que tenemos una funcin cualquiera f(x) y debemos hallar el valor de x, tal
que f( x) = 0. Asumamos que x est incluido en el intervalo (a; b), con b > a. Para que esto sea
cierto, generalmente se verica que f(a) f(b) < 0. (Sin embargo, hay casos en que f( x) = 0,
x (a; b) y no se cumple que f(a) f(b) < 0.)
Puesto que x (a; b), calculemos nuestra primera aproximacin tomando el valor medio
del intervalo, es decir,
x
1
= a +
b a
2
=
b +a
2
.
Para saber si es o no solucin debemos vericar que f(x
1
) = 0. Si no lo es, debemos volver a
obtener una aproximacin mediante un esquema similar. Para ello, veriquemos que f(a)f( x) <
0. Si es cierto, entonces nuestro nuevo intervalo ser (a; x), si no lo es, nuestro intervalo ser ( x; b).
Supongamos, por simplicidad, que f(a) f( x) < 0 y que nuestro nuevo intervalo es (a; x). Con
el mismo mtodo usado antes, nuestra nueva aproximacin es
x
2
=
x
1
+a
2
=
b+a
2
+a
2
=
b +a
4
+
a
2
,
que tambin puede escribirse como
x
2
= x
1

b a
4
.
Nuevamente vericamos si f(x
2
) = 0. Si seguimos iterando hasta obtener x
n
, tenemos que
x
n
= x
n1

b a
2
n
,
por lo que tambin podemos decir que
[ x x
n
[
b a
2
n
.
Si queremos hallar el valor exacto de x deberamos iterar hasta que [ x x
n
[ = 0. Pero si estable-
cemos una tolerancia de modo que [ x x
n
[ < , entonces tendremos que la cantidad aproximada
de iteraciones para obtener este resultado es
[ x x
n
[
b a
2
n
<
b a
2
n
<
n >
ln
_
ba

_
ln(2)
.
Este mtodo de aproximacin de las soluciones se conoce como mtodo de la biseccin.
Es muy sencillo y tiene la ventaja de que siempre converge, pues nada exige a la funcin a la
cual se le quiere calcular la raz, salvo que se cumpla que f(x
k1
) f(x
k
) < 0, mientras se est
iterando. Los criterios para detener el procedimiento pueden ser:
[x
n
x
n1
[ ,
[x
n
x
n1
[
[x
n
[
,
[f(x
n
[ .
donde es la tolerancia impuesta.
Cualquiera de los tres criterios es bueno para detener el proceso, si bien el segundo es el
ms efectivo, pues se basa en el error relativo, y nos da una idea aproximada de la cantidad de
- 58 - PRELIMINAR Curso 008
Anlisis Numrico I 3. Ecuaciones no Lineales
cifras o dgitos signicativos que tiene el resultado obtenido. En cambio, el ltimo es el menos
conable, pues por denicin f(x
n
) tiende a cero, con lo cual siempre es pequeo.
Aunque no tiene problemas por la convergencia, el mtodo resulta muy lento para alcan-
zar un resultado aceptable. Adems, segn sea el criterio de interrupcin aplicado, en muchas
ocasiones puede despreciar un resultado intermedio ms preciso. Es por eso que no suele utilizarse
para obtener la solucin ms precisa al problema.
3.3. Mtodo de la falsa posicin o regula falsi
Hay otro mtodo que tambin se basa en ir achicando el intervalo en el que se encuentra
la solucin. Se trata del mtodo de la falsa posicin o regula falsi. Consiste en trazar la cuerda
que une los puntos f(a) y f(b) de la funcin dada e ir reduciendo el intervalo hasta obtener el
valor de x tal que f( x) = 0. Como se trata tambin de un mtodo iterativo, debemos empezar
por calcular x
1
. Existen dos mtodos equivalentes para obtenerlo:
x
1
= a
f(a) (b a)
f(b) f(a)
, o
x
1
= b
f(b) (b a)
f(b) f(a)
.
La forma de aplicar el mtodo es la siguiente. Utilicemos la primera expresin para obtener
x
1
; entonces veriquemos que f(x
1
) f(a) < 0. Si esto es cierto, para obtener nuestra segunda
aproximacin tendremos la siguiente expresin:
x
2
= a
f(a) (x
1
a)
f(x
1
) f(a)
,
caso contrario, nos queda esta otra expresin:
x
2
= x
1

f(x
1
) (b x
1
)
f(b) f(x
1
)
.
Algo similar ocurre si partimos de la segunda. Si f(x
1
) f(b) < 0, nos queda
x
2
= b
f(b) (b x
1
)
f(b) f(x
1
)
,
y si no
x
2
= x
1

f(x
1
) (x
1
a)
f(x
1
) f(a)
.
Este mtodo no es una gran mejora al mtodo de la biseccin, aunque al trazar las cuerdas,
hace uso de la funcin y generalmente suele converger un poco ms rpido. Un punto importante
a tener en cuenta es que al igual que en el mtodo de la biseccin, los sucesivos x
k
se encuentran
siempre en el intervalo de anlisis (el intervalo [x
k2
; x
k1
])y, por lo tanto, en el intervalo [a; b]
inicial.
3.4. Mtodo de las aproximaciones sucesivas o punto jo
Puesto que los mtodos anteriores no tienen una convergencia rpida, no son muy prc-
ticos para resolver problemas de gran complejidad. Veremos a continuacin un mtodo mucho
ms poderoso y efectivo.
Supongamos que nuestro problema a resolver, f(x) = 0, lo escribimos de una manera
levemente diferente:
f(x) = x g(x) = 0.
Curso 008 PRELIMINAR - 59 -
3.4. Mtodo de las aproximaciones sucesivas o punto jo Anlisis Numrico I
Es evidente que podemos despejar x de esta ecuacin sin problemas, por lo que nalmente nos
queda:
x = g(x),
es decir, nuestro problema se resume a encontrar una funcin g(x). Pero como estamos resolvin-
dolo en forma iterativa, la expresin que nos queda es:
x
k+1
= g(x
k
),
para k = 1; 2; . . . ; n. El esquema entonces es sencillo: partiendo de una solucin inicial, por
ejemplo x
0
, luego de efectuar n iteraciones tendremos nuestra solucin aproximada x
n
, que
estar mucho ms cerca del resultado exacto que nuestro valor inicial.
Veamos entonces un ejemplo de cmo aplicar el mtodo. Supongamos que nuestra funcin
es
x
4
4x
3
x
2
+ 16x 12 = 0.
Sabemos que existe un mtodo algebraico para obtener las races de este polinomio, pero hagamos
uso del mtodo para obtener la raz en el intervalo (0, 5; 1, 5). Para ello, propongamos la siguiente
funcin g(x):
g
1
(x) = 4x
3
x
4
+x
2
15x + 12,
y resolvamos en forma iterativa tomando x
0
= 0, 5. Calculemos g
1
(x
0
) y obtengamos x
1
, luego
x
2
y as sucesivamente:
x
1
= g
1
(x
0
) = 4(0, 5)
3
0, 5
4
+ 0, 5
2
15(0, 5) + 12 = 5, 188
x
2
= g
1
(x
1
) = 4(5, 188)
3
5, 188
4
+ 5, 188
2
15(5, 188) + 12 = 204.
Es fcil notar que tenemos un problema. Como dijimos, la raz buscada se encuentra en
el intervalo (0, 5; 1, 5), pero ambos resultados nos dieron fuera de dicho intervalo, y en el caso de
x
2
, de signo opuesto. Evidentemente, esta funcin g
1
(x) no nos sirve.
Cambiemos la funcin y volvamos a intentarlo. Probemos con la siguiente funcin:
g
2
(x) =
_
4x
3
+x
2
16x + 12,
e iniciemos el proceso con el mismo x
0
. En este caso al hacer seis (6) iteraciones obtenemos el
siguiente resultado: x
6
= 1, 009, valor que est dentro del intervalo. Veriquemos si este valor es
correcto calculando f(x
6
):
f(1, 009) = 1, 009
4
4(1, 009)
3
1, 009
2
+ 16(1, 009) 12 = 0, 053.
Este valor puede considerarse cercano cero y por lo tanto, hemos podido encontrar la raz
buscada.
Pero por qu fallamos al usar la primera funcin? Para entender esto veamos los siguien-
tes teoremas.
Teorema 3.3. Si g(x) C(a; b) y g(x) [a; b] para todo x [a; b], entonces g(x) tiene un punto
jo en [a; b].
Teorema 3.4. Si g

(x) existe en [a; b], y existe una constante m < 1, tal que

(x)

m, para toda x [a; b],


entonces, el punto jo en en [a; b] es nico.
- 60 - PRELIMINAR Curso 008
Anlisis Numrico I 3. Ecuaciones no Lineales
La demostracin de estos teoremas puede verse en [1].
Estos teoremas son necesarios pero no sucientes, es decir, existen casos para los cuales
no se cumple ninguno de los dos pero la funcin tiene un punto jo nico en el intervalo dado.
Si miramos la funcin g
1
(x) rpidamente notamos que la funcin g
1
(x) en 0, 5 no se
mapea en el intervalo dado, por lo tanto, no se puede asegurar que exista un punto jo. Y si
hallamos la primera derivada en ese punto tenemos que [g

1
(0, 5)[ = [11, 5[ = 11, 5 > 1, con lo
cual si existiera el punto jo, no podramos asegurar que dicho punto jo sea nico. No ocurre
lo mismo con la funcin g
2
(x) puesto que g
2
(0, 5) = 1, 476 [0, 5; 1, 5] y [g

2
(0, 5)[ = [0, 932[ =
0, 932 < 1, con lo cual el punto jo es nico. En realidad, deberamos haber vericado ambas
funciones g para varios puntos del intervalo, pero al comprobar que el punto de partida no
cumple con las condiciones de ambos teoremas (funcin g
1
(x)), nos indica que esta funcin no
es convergente.
Vericado que la funcin g(x) es convergente, nos falta denir el o los criterios de inter-
rupcin. Como en los casos anteriores, stos son similares a los ya vistos, es decir,
[x
n
x
n1
[ ,
[x
n
x
n1
[
[x
n
[
,
[f(x
n
[ .
Con el mismo ejemplo tenemos una pregunta: cmo podemos obtener una solucin por
aproximaciones sucesivas (o punto jo) que tenga una convergencia rpida? Para ello tenemos el
siguiente teorema.
Teorema 3.5. Sea g(x) C[a; b] tal que g(x) [a; b] para toda x en [a; b], que existe g

(x) en
[a; b] y que una constante k < 1 cuando

(x)

k, para toda x (a; b).


Entonces, para cualquier nmero x
0
[a; b], la sucesin denida por
x
n
= g(x
n1
), n 1,
converge en el nico punto jo x en [a; b] .
Demostracin El teorema 3.5 implica que existe un punto jo en [a; b]. Como g(x) mapea
[a; b] en s mismo, la sucesin x
n

n=0
se dene para todo n 0 y x
n
[a; b] para todo n. Dado
que [g

(x)[ k, si aplicamos el teorema del valor medio, tenemos


[x
n
x[ = [g(x
n1
) g( x)[ =

()

[x
n1
x[ k [x
n1
x[ ,
donde (a; b). En forma inductiva obtenemos
[x
n
x[ k [x
n1
x[ k
2
[x
n2
x[ . . . k
n
[x
0
x[ .
Como k < 1, entonces
lm
n
[x
n
x[ lm
n
k
n
[x
0
x[ = 0,
y la sucesin x
n

n=0
converge a x.
Corolario 3.5.1. Si g satisface las hiptesis de teorema 3.5, las cotas de error que supone utilizar
x
n
para aproximar x estn dadas por
[x
n
x[ k
n
maxx
0
a; b x
0
,
y por
[x
n
x[
k
n
1 k
[x
1
x
0
[ , para toda n 1.
Curso 008 PRELIMINAR - 61 -
3.5. Mtodo de Newton-Raphson Anlisis Numrico I
Demostracin La primera cota viene de:
[x
n
x[ k
n
[x
o
x[ k
n
maxx
0
a; b x
0
,
porque x (a; b).
Con x 1, la demostracin del teorema 3.5 implica que
[x
n+1
x[ = [g(x
n
) g(x
n1
)[ [x
n
x
n1
[ . . . k
n
[x
1
x
0
[ .
En consecuencia, cuando m > n 1,
[x
m
x
n
[ = [x
m
x
m1
+x
m1
x
m2
+. . . +x
n+1
x
n
[
[x
m
x
m1
[ +[x
m1
x
m2
[ +. . . +[x
n+1
x
n
[
k
m1
[x
1
x
0
[ +k
m2
[x
1
x
0
[ +. . . +k
n
[x
1
x
0
[
= k
n
_
1 +k +k
2
+. . . +k
mn1
_
[x
1
x
0
[ .
Por el mismo teorema, tenemos que lm
n
x
m
= x, por lo tanto
[ x x
n
[ = lm
n
k
n
[x
1
x
0
[

i=0
k
i
.
Pero

i=0
k
i
es una serie geomtrica con razn k. Como 0 < k < 1, esta sucesin converge
a
1
1 k
, por lo que nos queda
[ x x
n
[
k
n
1 k
[x
1
x
0
[ .
Podemos ver que como [g

(x)[ k, la convergencia depende de la primera derivada de


g(x). Cuanto ms chico sea k, ms rpida ser convergencia.
3.5. Mtodo de Newton-Raphson
Este mtodo es uno de los ms poderosos que se conocen para resolver ecuaciones de la
forma f(x) = 0. Una primera aproximacin al mtodo es partir del mtodo de la falsa posicin,
y en vez de trazar una cuerda entre los dos extremos del intervalo, trazamos una tangente.
Supongamos que para el mismo intervalo [a; b] trazamos la tangente que pasa por f(b). En
consecuencia, tendremos que
t(x) = f

(b)(x b) +f(b).
Cuando sea f(x) = 0 tambin se cumplir que t(x) = 0. Entonces hallemos x
1
tal que y(x
1
) = 0
para ir aproximando nuestra raz. As obtenemos
t(x
1
) = 0 = f

(b)(x
1
b) +f(b)
x
1
= b
f(b)
f

(b)
.
Si generalizamos, tendremos que
x
n
= x
n1

f(x
n1
)
f

(x
n1
)
.
Otra forma de deducirlo es a travs de la serie de Taylor. Supongamos que f(x) C
2
[a, b],
y sea x una aproximacin de x tal que f( x) = 0. Tambin que f

( x) ,= 0 y [ x x[ sea pequeo.
Desarrollemos el primer polinomio de Taylor para f( x) expandida alrededor de x,
f(x) = f( x) +f

( x)(x x) +f

((x))
(x x)
2
2
,
- 62 - PRELIMINAR Curso 008
Anlisis Numrico I 3. Ecuaciones no Lineales
donde (x) est entre x y x. Puesto que f( x) = 0, entonces para x = x tenemos
0 = f( x) +f

( x)( x x) +f

(( x))
( x x)
2
2
.
Al suponer que[ x x[ es pequeo, podemos despreciar ( x x)
2
, con lo que nos queda
0 = f( x) +f

( x)( x x),
y despejando x de la ecuacin nos queda
x = x
f( x)
f

( x)
.
Y si en lugar de aproximar con x lo hacemos con x
0
, entonces generamos una sucesin x
n

denida por
x
n
= x
n1

f(x
n1
)
f

(x
n1
)
,
que es la misma expresin que ya vimos.
De este desarrollo podemos ver que el error cometido es proporcional a ( x x
n
)
2
o a
f

(x
n
) (puesto que cuando x
n
x podemos suponer que (x
n
) x
n
). De ah que podemos
aplicar los mismos criterios de interrupcin que en los otros mtodos.
Tambin podemos observar que si no elegimos un x
0
lo sucientemente cerca, el mtodo
puede no converger. Para esto tenemos el siguiente teorema.
Teorema 3.6. Sea f C
2
[a; b]; si x [a; b] es tal que f( x) = 0 y f

( x) ,= 0, entonces existe
un > 0 tal que el mtodo de Newton-Raphson genera una sucesin x
n

n=1
que converge a x
para cualquier aproximacin inicial x
0
[ x ; x +].
Demostracin La demostracin se basa en analizar el mtodo de Newton-Raphson como si
fuera el mtodo de las aproximaciones sucesivas, tomando que x
n
= g(x
n1
), y n 1, y que
g(x) = x
f(x)
f

(x)
.
Entonces, sea k un nmero cualquiera en (0; 1). En primer lugar debemos encontrar un
intervalo [ x; x+] que g mapee en s mismo y en el que [g

(x)[ k para toda x [ x; x+].


Como f

( x) ,= 0 y f

es continua, existe
1
> 0 tal que f

(x) ,= 0 para x [ x
1
; x+
1
]
[a; b]. Por lo tanto, g est denida y es continua en [ x
1
; x +
1
]. Por otro lado tenemos que
g

(x) = 1
f

(x)f

(x) f(x)f

(x)
[f

(x)]
2
=
f(x)f

(x)
[f

(x)]
2
,
para x [ x
1
; x +
1
] y como f C
2
[a; b], tendremos que g C
1
[a; b].
Como hemos supuesto que f( x) = 0, entonces
g

( x) =
f( x)f

( x)
[f

( x)]
2
= 0.
Adems g

es continua y k es tal que 0 < k < 1, entonces existe un , tal que 0 < <
1
, y

(x)

k para toda x [ x ; x +].


Nos falta todava demostrar que g : [ x ; x +] [ x ; x +]. Si x x ; x +]. El
teorema del valor medio implica que existe un nmero entre x y x para el que se cumple
[g(x) g( x)[ =

()

[x x[ .
Curso 008 PRELIMINAR - 63 -
3.6. Anlisis del error Anlisis Numrico I
Por lo tanto, se cumple que
[g(x) x[ = [g(x) g( x)[ =

()

[x x[ k [x x[ < [x x[ .
Como x x ; x + ], podemos deducir que [x x[ < y que [g(x) x[ < . Este ltimo
resultado nos muestra que g : [ x ; x +] [ x ; x +].
En consecuencia, la funcin g(x) = x f(x)/f

(x) satisface todas las hiptesis del teore-


ma 3.5, de modo que la sucesin x
n

n=1
denida por
x
n
= g(x
n1
) = x
n1

f(x
n1
)
f

(x
n1
)
, para n 1,
converge a x para cualquier x
0
[ x ; x +].
Como vimos este mtodo es una variante del mtodo de las aproximaciones sucesivas. Si
la funcin f(x) no tiene derivada en el entorno [a; b] no es posible aplicarlo, pero si resulta difcil
calcularla o evaluarla, existe un mtodo alternativo denominado mtodo de la secante, el cual
reemplaza f

(x
n1
) por su aproximacin discreta, es decir,
f

(x
n1
) =
f(x
n1
) f(x
n2
)
x
n1
x
n2
.
Si reemplazamos esto ltimo en la frmula de Newton-Raphson tenemos
x
n
= x
n1

f(x
n1
)(x
n1
x
n2
)
f(x
n1
) f(x
n2
)
,
que tambin podemos escribir como
x
n
=
f(x
n1
)x
n2
f(x
n2
)x
n1
f(x
n1
) f(x
n2
)
.
3.6. Anlisis del error
En este punto analizaremos la convergencia de los mtodos iterativos vistos para obtener
una rpida convergencia. Para ello vamos a denir lo siguiente
Denicin 3.1. Un sucesin x
n

n=0
convergir a x de orden con una constante asinttica
si se cumple que
lm
n
[x
n+1
x[
[x
n
x[

= ,
con x
n
,= x para toda n, y y son dos constantes positivas.
A partir de esta denicin tenemos que la convergencia puede ser lineal ( = 1),
cuadrtica ( = 2), cbica ( = 3), etc. Dado que obtener un procedimiento con convergencia
mayor a la cuadrtica no es sencillo, nos ocuparemos de analizar solamente los dos primeros
casos.
Enunciaremos dos teoremas que se reeren a la convergencia lineal y a la cuadrtica, que
estn basados en el mtodo de las aproximaciones sucesivas.
Teorema 3.7. (Convergencia lineal.) Sea g C[a; b] tal que g [a; b] para toda x [a; b]. Si g

es continua en (a; b) y existe una constante k < 1 tal que

(x)

k, para todo x (a; b),


y si g

( x) ,= 0, entonces para cualquier x


0
[a; b] la sucesin
x
n
= g(x
n1
), para n 1,
converge slo linealmente al punto jo x [a; b].
- 64 - PRELIMINAR Curso 008
Anlisis Numrico I 3. Ecuaciones no Lineales
Teorema 3.8. (Convergencia cuadrtica.) Sea x la solucin de la ecuacin x = g(x). Si g

( x) = 0
y g

es continua y est estrictamente acotada por una constante M en un intervalo abierto I


que contiene a x, entonces existir un > 0 tal que, para x
0
[ x ; x +], la sucesin denida
por x
n
= g(x
n1
) cuando n 1, converge al menos cuadrticamentea x. Adems para valores
sucientemente grandes de n, se tiene
[x
n+1
x[ <
M
2
[x
n
x[
2
.
Las demostraciones de ambos teoremas pueden verse en [1].
El primer teorema nos dice que para que la convergencia sea cuadrtica o superior, se
debe cumplir que g

( x) = 0, en tanto que el segundo, nos da las condiciones que aseguran que la


convergencia sea al menos cuadrtica. Este teorema nos indica que el mtodo de las aproxima-
ciones sucesivas nos puede llevar a desarrollar mtodos con orden de convergencia cuadrtica o
superior. En efecto, si partimos de
x
n
= g(x
n1
),
podemos suponer que g(x) se puede escribir como
g(x) = x (x)f(x).
De acuerdo con el segundo teorema, para obtener una convergencia al menos cuadrtica
debemos plantear que g

( x) = 0. Dado que:
g

(x) = 1

(x)f(x) (x)f

(x),
entonces
g

( x) = 1 ( x)f

( x),
pues f( x) = 0, entonces g

( x) = 0 si y slo si ( x) = 1/f

( x). Si reemplazamos esto en la funcin


original nos queda
x
n
= g(x
n1
) = x
n1

f(x
n1
)
f

(x
n1
)
,
que no es otra cosa que el mtodo de Newton-Raphson.
3.7. Mtodos de convergencia acelerada
Si bien hemos visto que el mtodo de Newton-Raphson es de convergencia cuadrtica,
no siempre es posible utilizarlo. La principal razn es que debemos conocer la derivada de la
funcin. Aunque vimos un mtodo alternativo, el mtodo de la secante, ste no resulta ser un
mtodo de convergencia cuadrtica. Veremos ahora un procedimiento para obtener convergencia
cuadrtica a partir de un mtodo linealmente convergente.
Supongamos que tenemos la sucesin x
n

n=0
que converge linealmente y que los signos
de x
n
x, x
n+1
x y x
n+2
x son iguales y que n es sucientemente grande. Para construir
una nueva sucesin x
n

n=0
que converja ms rpido que la anterior vamos a plantear que
x
n+1
x
x
n
x

x
n+2
x
x
n+1
x
,
con lo cual nos queda
(x
n+1
x)
2
(x
n+2
x)(x
n
x).
Si la desarrollamos nos queda
x
2
n+1
2x
n+1
x + x
2
x
n+2
x
n
(x
n+2
+x
n
) x + x
2
,
Curso 008 PRELIMINAR - 65 -
3.7. Mtodos de convergencia acelerada Anlisis Numrico I
y
(x
n+2
+x
n
2x
n+1
) x x
n+2
x
n
x
2
n+1
.
Si despejamos x nos queda
x
x
n+2
x
n
x
2
n+1
x
n+2
2x
n+1
+x
n
.
Si ahora sumamos y restamos x
2
n
y 2x
n
x
n+1
en el numerador, tenemos
x
x
2
n
+x
n+2
x
n
2x
n
x
n+1
x
2
n
+ 2x
n
x
n+1
x
2
n+1
x
n+2
2x
n+1
+x
n

x
n
(x
n+2
2x
n+1
+x
n
) (x
2
n
2x
n
x
n+1
+x
2
n+1
)
x
n+2
2x
n+1
+x
n
x
n

(x
n+1
x
n
)
2
x
n+2
2x
n+1
+x
n
.
Si denimos la nueva sucesin x
n

n=0
como
x
n
= x
n

(x
n+1
x
n
)
2
x
n+2
2x
n+1
+x
n
,
obtenemos una tcnica denominada mtodo
2
de Aitken, que supone que la sucesin x
n

n=0
converge ms rpidamente a x que la sucesin x
n

n=0
.
La notacin asociada a esta tcnica est denida por:
Denicin 3.2. Dada la sucesin x
n

n=0
, la diferencia progresiva x
n
est denida por
x
n
= x
n+1
x
n
, para n 0.
Las potencias ms altas
k
x
n
se denen por medio de

k
x
n
= (
k1
x
n
), para k 2.
A partir de estas deniciones tenemos que
2
x
n
se expresa como

2
x
n
= (
1
x
n
) = (x
n+1
x
n
)
= x
n+1
x
n
= (x
n+2
x
n+1
) (x
n+1
x
n
)
= x
n+2
2x
n+1
+x
n
,
por lo que el mtodo
2
de Aitken puede escribirse como
x
n
= x
n

(x
n
)
2

2
x
n
.
Para analizar la convergencia de este mtodo tenemos el siguiente teorema.
Teorema 3.9. Sea la sucesin x
n

n=0
que converge linealmente a x, y que para valores su-
cientemente grandes de n, se cumpla que (x
n
x)(x
n+1
x) > 0. Entonces la sucesin x
n

n=0
converge a x con mayor rapidez que x
n

n=0
en el sentido de que
lm
n
x
n
x
x
n
x
= 0.
Si aplicamos el mtodo
2
de Aitken a una sucesin cuya convergencia sea lineal, podemos
acelerar la convergencia a cuadrtica. Podemos entonces desarrollar otros mtodos a partir de
esta tcnica.
- 66 - PRELIMINAR Curso 008
Anlisis Numrico I 3. Ecuaciones no Lineales
Tabla 3.1: Mtodo de Steensen
i x
i
k i x
(k)
i
0 0,50000 0 0 0,50000
1 0,20043 1 0,20043
2 0,27275 2 0,27275
3 0,25361 1 0 0,25868
4 0,25855 1 0,25723
5 0,25727 2 0,25761
6 0,25760 2 0 0,25753
7 0,25751
8 0,25753
3.8. Mtodo de Steensen
Si aplicamos esta tcnica a una sucesin obtenida por el mtodo de las aproximaciones
sucesivas tendremos el mtodo conocido como mtodo de Steensen. Este mtodo, en realidad,
tiene una leve modicacin al mtodo
2
de Aitken.
Al aplicar el mtodo
2
de Aitken a una sucesin linealmente convergente, la nueva
sucesin convergente cuadrticamente se construye mediante los siguientes trminos:
x
0
; x
1
= g(x
0
); x
2
= g(x
1
); x
0
=
2
(x
0
); x
3
= g(x
2
); x
1
=
2
(x
1
); . . . .
En cambio, el mtodo de Steensen calcula los cuatro primeros trminos de la forma indicada
pero introduce una leve modicacin al calcular el trmino x
3
. La secuencia queda entonces
como:
x
(0)
0
; x
(0)
1
= g(x
(0)
0
); x
(0)
2
= g(x
(0)
1
); x
(1)
0
=
2
(x
(0)
0
);
x
(1)
1
= g(x
(1)
0
); x
(1)
2
= g(x
(1)
1
); x
(2)
0
=
2
(x
(1)
0
); . . .
De esta manera, el mtodo se asegura una convergencia cuadrtica y mejora notablemente
la precisin en los resultados obtenidos por el mtodo de las aproximaciones sucesivas. En el
siguiente ejemplo podemos ver la diferencia en la convergencia.
Supongamos que tenemos la siguiente ecuacin:
x
k+1
=
2 e
x
k
+x
2
k
3
, x
0
= 0, 50.
Para ver la ecacia del mtodo y poder comparar, resolveremos esta ecuacin utilizando
el mtodo de las aproximaciones sucesivas primero, y el mtodo de Steensen, despus.
En la tabla siguiente (tabla 3.1) podemos ver los resultados obtenidos al aplicar ambos
mtodos. En la segunda columna estn los obtenidos con aproximaciones sucesivas y en la ltima,
los obtenidos con Steensen.
Observemos que el mtodo de Steensen alcanz ms rpidamente el resultado correcto
que el mtodo de las aproximaciones sucesivas. Mientras este ltimo necesit ocho iteraciones, el
de Steensen requiri solamente seis. Por lo tanto, la convergencia es ms rpida.
3.9. Notas nales
Hasta aqu hemos visto seis mtodos iterativos para obtener las races de una ecuacin
del tipo f(x) = 0. Los dos primeros, el de la biseccin y el de la posicin falsa (regula falsi)
Curso 008 PRELIMINAR - 67 -
3.9. Notas nales Anlisis Numrico I
son mtodos que aseguran la convergencia pero que son muy lentos. Suelen usarse como una
primera aproximacin cuando no se tiene informacin ms detallada del punto x, de ah que son
conocidos como mtodos de arranque. Sirven para acotar el intervalo en el caul se encuentra la
raz buscada. Los otros cuatro, el de las aproximaciones sucesivas, el Newton-Raphson, el de la
secante y el de Steensen son mucho ms potentes y en el caso de Newton-Raphson y Steensen,
de una rpidez de convergencia cuadrtica. De los cuatro mtodos mtodos, los ms usuales para
programar son el de las aproximaciones sucesivas y el de la secante, puesto que son sencillo y no
requieren conocer la derivada primera. Es comn, adems, que cuando no se tiene un intervalo
los sucientemente acotado para trabajar con los mtodos de renamiento, se comience con el
metodo de la biseccin, y as, disminuir el costo computacional.
Sin embargo, cuando la ecuacin f(x) = 0 tiene multiplicidad de ceros (ejemplo, la
funcin sen(x)), ninguno de estos mtodos puede distinguir rpidamente esta situacin. Es por
eso que existen otros mtodos para resolver este tipo de problemas (ver [1]).
- 68 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
Captulo 4
Interpolacin de curvas
4.1. Introduccin
En este captulo nos concentraremos en el estudio de los mtodos de interpolacin de
curvas. Es usual que los ingenieros trabajen con datos extrados de mediciones, relevamientos,
ensayos de laboratorio, etc., los cuales no siempre entregan el valor necesitado para el problema
que se est tratando de resolver. Un ejemplo tpico de interpolacin sencilla utilizado por cualquier
profesional de la ingeniera es la interpolacin lineal en una tabla de datos (por ejemplo, de
estadsticas) para obtener un valor entre dos puntos dados. Este tipo de interpolacin lineal era
muy usado cuando no existan las calculadoras cientcas de bolsillo (ni hablar de computadoras)
y deban usarse las famosas Tablas de logaritmos para obtener logaritmos, senos, cosenos y
cualquier otra funcin trigonomtrica o trascendental.
Un segundo ejemplo de interpolacin ms avanzado es la utilizacin de polinomios inter-
polantes en la resolucin de estructuras cuando se utilizan programas de anlisis estructural que
aplican el mtodo de los elementos nitos. All es de fundamental importancia entender los tipos
de polinomios que se pueden usar y los datos necesarios para poder obtener estos polinomios.
Puesto que hay muchos mtodos y formas de interpolar, nos ocuparemos de los mtodos
clsicos y veremos algunas mejoras que se han desarrollado a estos mtodos. En particular, gracias
al artculo de L.N. Trefethen y J. P. Berrut (vase [14]), analizaremos una mejora al mtodo de
Lagrange bsico, denominada Interpolacin Baricntrica de Lagrange.
4.2. Mtodo de Lagrange
Supongamos que tenemos una lista con datos ordenados de a pares como la de la siguiente
tabla:
Tabla 4.1: Datos ordenados de a pares
x y
x
0
y
0
x
1
y
1
x
2
y
2
x
3
y
3
Y supongamos que necesitamos conocer el valor de y(x
A
) para un x
A
entre x
1
y x
2
. La
forma sencilla de obtener este valor es gracar estos puntos y trazar un segmento de recta que
una y
1
e y
2
, ubicar x
A
en las abscisas y trazar por l una lnea recta paralela al eje de ordenadas
Curso 008 PRELIMINAR - 69 -
4.2. Mtodo de Lagrange Anlisis Numrico I
que corte el segmento ya mencionado. Finalmente, desde este punto, trazamos una lnea recta
paralela al eje de abscisas hasta cortar el eje de ordenadas, con lo cual hemos obtenido el valor
de y(x
A
).
Queda muy evidente que este procedimiento es muy engorroso si se quiere hacerlo en forma
metdica. Sin embargo, es la forma ms sencilla de interpolacin polinomial, la interpolacin
lineal. Efectivamente, si tomamos los dos puntos en cuestin podemos armar una recta mediante
el siguiente sistema:
y
1
= m x
1
+n
y
2
= m x
2
+n
Si restamos y
1
a y
2
obtenemos m:
y
2
y
1
= m(x
2
x
1
) m =
y
2
y
1
x
2
x
1
.
Si ahora reemplazamos m en la primera ecuacin obtenemos n:
y
1
=
y
2
y
1
x
2
x
1
x
1
+n n = y
1

y
2
y
1
x
2
x
1
x
1
.
Finalmente la ecuacin de la recta que pasa por y
1
e y
2
es:
y(x) =
y
2
y
1
x
2
x
1
(x x
1
) +y
1
,
que tambin puede escribirse como
y(x) = y
1
x x
2
x
1
x
2
+y
2
x x
1
x
2
x
1
.
Para hallar y(x
A
) basta con reemplazar x
A
en cualquiera de las expresiones anteriores.
Lo hecho anteriormente es equivalente al procedimiento grco. Pero que pasa si quere-
mos usar ms de dos puntos? Supongamos que necesitamos usar los cuatro puntos de la tabla 4.1
para interpoalr un punto cualquiera entre x
0
y x
3
. En ese caso, el polinomio de mayor grado
posible es un polinomio cbico, porque tiene cuatro coecientes, pues:
y(x) = a
0
+a
1
x +a
2
x
2
+a
3
x
3
.
Si reemplazamos loa cuatro puntos en esta ecuacin obtenemos el siguiente sistema de ecuaciones
lineales:
y
0
= a
0
+a
1
x
0
+a
2
x
2
0
+a
3
x
3
0
y
1
= a
0
+a
1
x
1
+a
2
x
2
1
+a
3
x
3
1
y
2
= a
0
+a
1
x
2
+a
2
x
2
2
+a
3
x
3
2
y
3
= a
0
+a
1
x
3
+a
2
x
2
3
+a
3
x
3
3
Basta con resolver este sistema de ecuaciones lineales para obtener los coecientes a
i
.
Analicemos el sistema escribindolo en forma matricial:
_

_
1 x
0
x
2
0
x
3
0
1 x
1
x
2
1
x
3
1
1 x
2
x
2
2
x
3
2
1 x
3
x
2
3
x
3
3
_

_
. .
A
_

_
a
0
a
1
a
2
a
3
_

_
=
_

_
y
0
y
1
y
2
y
3
_

_
- 70 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
La matriz es una matriz especial y se conoce como matriz de VanderMonde. Esta matriz
tiene la particularidad de ser mal condicionada, por lo que cualquier mtodo que usemos para
resolver este sistema puede traernos algn problema.
El mtodo de Lagrange para interpolacin polinomial resulta de resolver este sistema
para obtener los coecientes pero lo hace de una forma ms sencilla y sistemtica. Para obtener
el polinomio interpolador debemos seguir los siguientes pasos:
1. Calcular n + 1 polinomios L
n;i
(x) relacionados cada uno con cada dato x
i
, donde n es el
grado del polinomio e i indica el punto considerado, cuya particularidad es la siguiente:
L
n;i
(x) =
_
1 si x = x
i
0 si x ,= x
i
,
para i = 0; 1; . . . ; n, que reere a los datos usados para la interpolacin. En el caso de
la tabla 4.1, n = 3 como mximo. Los polinomios L
n;i
(x) se obtienen con la siguiente
expresin:
L
n;i
(x) =
n

j=0
j=i
(x x
j
)
n

j=0
j=i
(x
i
x
j
)
=
n

j=0
j=i
x x
j
x
i
x
j
.
2. El polinomio interpolador se obtiene con la siguiente expresin:
P
n
(x) =
n

i=0
y
i
L
n;i
(x).
Por ejemplo, podemos armar una interpolacin lineal mediante los polinomios de La-
grange entre los puntos x
1
y x
2
. Al aplicar el mtodo obtenemos:
L
1;0
=
x x
2
x
1
x
2
L
1;1
=
x x
1
x
2
x
1
P
1
(x) = y
1
L
1;0
(x) +y
2
L
1;1
(x)
P
1
(x) = y
1
x x
2
x
1
x
2
+y
2
x x
1
x
2
x
1
,
que es la ecuacin de la recta que obtuvimos antes.
Para obtener el polinomio de tercer grado tendremos:
L
3;0
(x) =
(x x
1
)(x x
2
)(x x
3
)
(x
0
x
1
)(x
0
x
2
)(x
0
x
3
)
L
3;1
(x) =
(x x
0
)(x x
2
)(x x
3
)
(x
1
x
0
)(x
1
x
2
)(x
1
x
3
)
L
3;2
(x) =
(x x
0
)(x x
1
)(x x
3
)
(x
2
x
0
)(x
2
x
1
)(x
2
x
3
)
L
3;3
(x) =
(x x
0
)(x x
1
)(x x
2
)
(x
3
x
0
)(x
3
x
1
)(x
3
x
2
)
P
3
(x) = y
0
L
3;0
(x) +y
1
L
3;1
(x) +y
2
L
3;3
(x) +y
3
L
3;3
(x)
Como hemos utilizado todos lo puntos de los datos, es evidente que no se puede crear un polinomio
de mayor grado que el cbico. Por lo tanto, existe un slo polinomio posible de construir con
todos los datos disponibles. El siguiente teorema dene a este nico polinomio.
Curso 008 PRELIMINAR - 71 -
4.2. Mtodo de Lagrange Anlisis Numrico I
Teorema 4.1. Sean x
0
, x
1
, . . ., x
n
, n + 1 nmeros diferentes, y sea f una funcin tal que sus
valores se obtengan a partir de los nmeros dados (f(x
0
); f(x
1
), . . ., f(x
n
)), entonces existe un
nico polinomio P
n
(x) de grado n, que cumple con la propiedad
f(x
k
) = P(x
k
) para cada k = 0; 1; . . . ; n;
y este polinomio est dado por la siguiente expresin
P
n
(x) = f(x
0
)L
n;0
(x) +f(x
1
)L
n;1
(x) +. . . +f(x
n
)L
n;n
(x) =
n

i=0
f(x
i
)L
n;i
(x),
donde
L
n;i
(x) =
n

j=0
j=i
x x
j
x
i
x
j
,
para i = 0; 1; . . . ; n.
Sin embargo, se pueden crear varios polinomios de grados menores a n. As, con los datos
de la tabla 4.1 se pueden construir tres polinomios de grado 1 y dos polinomios de grado 2.
Obtenido el polinomio interpolante nos queda un punto por denir: cul es el error que
estamos cometiendo al interpolar mediante un polinomio respecto de la funcin original? Para
ello tenemos el siguiente teorema.
Teorema 4.2. Sean x
0
, x
1
, x
2
,. . . ,x
n
, nmeros distintos en el intervalo [a; b] y sea f C
n+1
[a; b].
Entonces, para cualquier x [a; b] existe un nmero (x) [a; b] para que el se cumple que
f(x) = P
n
(x) +
f
(n+1)
((x))
(n + 1)!
n

i=0
(x x
i
),
donde P
n
(x) es el mximo polinomio interpolante.
Demostracin Si x = x
i
para i = 0; 1; 2; . . . ; n entonces f(x
i
) = P
n
(x
i
) y para cualquier
(x
i
) [a; b] se cumple lo expresado en el teorema. En cambio, si x ,= x
i
para i = 0; 1; 2; . . . ; n,
se puede denir la siguiente funcin g(u) para u [a; b]:
g(u) = f(u) P
n
(u) [f(x) P
n
(x)]
n

i=0
(u x
i
)
(x x
i
)
.
Como f C
n+1
[a; b], P
n
C

[a; b], y x ,= x
i
para cualquier i, entonces g C
n+1
[a; b]. Si u = x
j
tendremos
g(x
j
) = f(x
j
) P
n
(x
j
) [f(x) P
n
(x)]
n

i=0
(x
j
x
i
)
(x x
i
)
= 0 [f(x) P
n
(x)]0 = 0.
Tambin tenemos que g(x) = 0, pues
g(x) = f(x) P
n
(x) [f(x) P
n
(x)]
n

i=0
(x x
i
)
(x x
i
)
= f(x) P
n
(x) [f(x) P
n
(x)] = 0,
y en consecuencia, g C
n+1
[a; b] y se anula para x; x
0
; x
1
; . . . ; x
n
, es decir, para n + 2 nmeros
distintos. De acuerdo con el Teorema de Rolle, existe entonces un (a, b) tal que g
n+1
() = 0.
As tendremos que
0 = g
(n+1)
() = f
(n+1)
() P
(n+1)
n
(u) [f(x) P
n
(x)]
d
n+1
du
n+1
_
n

i=0
(u x
i
)
(x x
i
)
_
u=
.
- 72 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
Como P
n
(u) es un polinomio de grado n, entonces P
(n+1)
n
(u) = 0 y
n

i=0
(u x
i
)
(x x
i
)
es un polinomio
de grado n + 1 tendremos que
d
n+1
du
n+1
_
n

i=0
(u x
i
)
(x x
i
)
_
=
(n + 1)!
n

i=0
(x x
i
)
.
Por lo tanto, nalmente tendremos que
0 = f
(n+1)
() 0 [f(x) P
n
(x)]
(n + 1)!
n

i=0
(x x
i
)
.
Si despejamos f(x) de la ecuacin anterior nos queda
f(x) = P
n
(x) +
f
(n+1)
()
(n + 1)!
n

i=0
(x x
i
).
Desde el punto de vista terico, esta expresin del error es muy importante porque muchas
de las tcnicas de derivacin e integracin numrica se derivan de aplicar la interpolacin por el
mtodo de Lagrange. Sin embargo, para otros casos, no debemos olvidarnos que no conocemos
f(x) (y por lo tanto, tampoco f
(n+1)
(x)), por lo que el error calculado es slo una aproximacin.
Finalmente, podemos ver que el mtodo tiene algunas desventajas:
1. Cada evaluacin del polinomio P
n
(x) requiere O(n
2
) operaciones aritmticas.
2. Agregar un par de datos x
n+1
, f(x
n+1
) requiere rehacer todos lo polinomios L
n,i
(x).
3. Es numricamente inestable.
4.3. Mtodo de Newton
Una forma alternativa de plantear la construccin del polinomio interpolador es la si-
guiente. Supongamos que queremos usar solamente los primeros tres puntos de nuestra tabla.
Entonces planteamos el siguiente sistema de ecuaciones:
y
0
= a
0
+a
1
x
0
+a
2
x
2
0
y
1
= a
0
+a
1
x
1
+a
2
x
2
1
y
2
= a
0
+a
1
x
2
+a
2
x
2
2
.
Al eliminar a
0
tenemos este nuevo sistema
y
1
y
0
= a
1
(x
1
x
0
) +a
2
(x
2
1
x
2
0
)
y
2
y
1
= a
1
(x
2
x
1
) +a
2
(x
2
2
x
2
1
),
que puede escrbirse como
y
1
y
0
x
1
x
0
= a
1
+a
2
(x
1
+x
0
)
y
2
y
1
x
2
x
1
= a
1
+a
2
(x
2
+x
1
).
Curso 008 PRELIMINAR - 73 -
4.3. Mtodo de Newton Anlisis Numrico I
Si ahora eliminamos a
1
obtenemos el coeciente a
2
que resulta ser
a
2
(x
2
x
0
) =
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
a
2
=
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
.
Ahora reemplacemos a
2
en ambas ecuaciones
y
1
y
0
x
1
x
0
= a
1
+
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
(x
1
+x
0
)
y
2
y
1
x
2
x
1
= a
1
+
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
(x
2
+x
1
).
De la primera despejemos a
1
:
a
1
=
y
1
y
0
x
1
x
0

y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
(x
1
+x
0
).
Ahora reemplacemos a
1
y a
2
en la primera ecuacin de todas para obtener a
0
:
y
0
= a
0
+
_
y
1
y
0
x
1
x
0

y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
(x
1
+x
0
)
_
x
0
+
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
x
2
0
a
0
= y
0

_
y
1
y
0
x
1
x
0

y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
x
1
_
x
0
.
Armemos nalmente el polinomio interpolante reemplazando a
0
, a
1
y a
2
P(x) = y
0

_
y
1
y
0
x
1
x
0

y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
x
1
_
x
0
+
+
_
y
1
y
0
x
1
x
0

y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
(x
1
+x
0
)
_
x +
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
x
2
= y
0
+
y
1
y
0
x
1
x
0
(x x
0
) +
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
_
x
2
(x
0
+x
1
)x +x
0
x
1

= y
0
+
y
1
y
0
x
1
x
0
(x x
0
) +
y
2
y
1
x
2
x
1

y
1
y
0
x
1
x
0
x
2
x
0
(x x
0
)(x x
1
).
Esta forma de armar el polinomio se denomina mtodo de las diferencias dividas de New-
ton, y podemos sistematizarla para que sea muy sencillo de realizar. En primer lugar, podemos
decir que f(x
i
) = y
i
. Seguidamente vamos denir lo siguiente:
f(x
0
; x
1
) =
f(x
1
) f(x
0
)
x
1
x
0
f(x
1
; x
2
) =
f(x
2
) f(x
1
)
x
2
x
1
,
y generalizando
f(x
i
; x
i+1
) =
f(x
i+1
) f(x
i
)
x
i+1
x
i
.
Anlogamente tenemos que:
f(x
0
; x
1
; x
2
) =
f(x
2
)f(x
1
)
x
2
x
1

f(x
1
)f(x
0
)
x
1
x
0
x
2
x
0
=,
f(x
1
; x
2
) f(x
0
; x
1
)
x
2
x
0
,
- 74 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
y si generalizamos nuevamente tenemos
f(x
i
; x
i+1
; x
i+2
) =
f(x
i+1
; x
i+2
) f(x
i
; x
i+1
)
x
i+2
x
i
.
Finalmente podemos generalizar totalmente las expresiones anteriores a la siguiente ex-
presin:
f(x
k
; x
k+1
; . . . ; x
n1
; x
n
) =
f(x
k+1
; x
k+2
; . . . ; x
n
) f(x
k
; x
k+1
; . . . ; x
n1
)
x
n
x
k
.
Si utilizamos esta notacin para el polinomio que hallamos ms arriba nos queda:
P(x) = f(x
0
) +f(x
0
; x
1
)(x x
0
) +f(x
0
; x
1
; x
2
)(x x
0
)(x x
1
).
Esta forma nos permite agregar un punto ms y aumentar el grado del polinomio en
forma sencilla. Efectivamente, si queremos agregar x
3
, solamente debemos agregar al polinomio
anterior el trmino f(x
0
; x
1
; x
2
; x
3
)(x x
0
)(x x
1
)(x x
2
), con lo cual nos queda
P(x) = f(x
0
) +f(x
0
; x
1
)(x x
0
) +f(x
0
; x
1
; x
2
)(x x
0
)(x x
1
) +
+f(x
0
; x
1
; x
2
; x
3
)(x x
0
)(x x
1
)(x x
2
).
Esta forma de armar los polinomios facilita notablemente el aumentar la cantidad de
puntos para obtener un polinomio interpolante, pues permite usar el polinomio anterior. En la
tabla siguiente se puede ver un esquema de cmo operar.
Tabla 4.2: Mtodo de Newton
x f (x) f (x
i
; x
i+1
) f (x
i
; x
i+1
; x
i+2
) f (x
i
; x
i+1
; x
i+2
; x
i+3
)
x
0
f(x
0
)
f(x
0
; x
1
)
x
1
f(x
1
) f(x
0
; x
1
; x
2
)
f(x
1
; x
2
) f(x
0
; x
1
; x
2
; x
3
)
x
2
f(x
2
) f(x
1
; x
2
; x
3
)
f(x
2
; x
3
)
x
3
f(x
3
)
Observemos que podemos armar dos polinomios a partir del mtodo de Newton. Uno es
el que obtuvimos antes, por el denominado mtodo de la diferencias divididas progresivas. El
otro podemos obtenerlo partiendo de x
3
, que resulta ser
P(x) = f(x
3
) +f(x
2
; x
3
)(x x
3
) +f(x
1
; x
2
; x
3
)(x x
3
)(x x
2
) +
+f(x
0
; x
1
; x
2
; x
3
)(x x
3
)(x x
2
)(x x
1
),
que se denomina mtodo de las diferencias divididas regresivas.
El mtodo de Newton, en sus dos variantes, es muy usado cuando se trabaja con datos
que pueden ser modicados (aumentando la cantidad de puntos disponibles para la interpolacin)
y, en consecuencia, aplicar el mtodo de Lagrange se vuelve muy engorroso. Otra ventaja es que
para evaluar los polinomios P
n
(x) requerimos n operaciones aritmticas, algo bastante menor al
O(n
2
) que requiere el mtodo de Lagrange
1
. Sin embargo, el mtodo exige que los datos deban
estar ordenados, segn x
i
, en forma ascendente (o descendente) para poder implementarlo. Si
agregamos algn dato intermedio, la ventaja anterior se pierde porque la tabla 4.2 debe rehacerse,
perdiendo practicidad.
Para mejorar esto existe una variante del mtodo de Lagrange que nos permite interpolar
de manera sencilla y al que resulta muy fcil agregarle puntos en cualquier orden.
1
De todos modos, se requieren O(n
2
) operaciones para obtener los coecientes f(x
k
; x
k+1
; . . . ; x
n
).
Curso 008 PRELIMINAR - 75 -
4.4. Interpolacin baricntrica de Lagrange Anlisis Numrico I
4.4. Interpolacin baricntrica de Lagrange
Supongamos que denimos un polinomio genrico L(x) tal que
L(x) = (x x
0
)(x x
1
) . . . (x x
n
).
Denamos adems los pesos baricntricos como:
w
i
=
n

k=0
k=i
1
x
i
x
k
, para todo i = 0; 1; . . . ; n.
Entonces podemos escribir cualquier polinomio de Lagrange como
L
n;i
= L(x)
w
i
x x
i
,
y, en consecuencia, el polinomio interpolante ser
P
n
(x) =
n

i=0
f(x
i
)
L(x)w
i
x x
i
= L(x)
n

i=0
f(x
i
)
w
i
x x
i
,
pues L(x) es constante para todo los trminos de la sumatoria.
Esto es una gran ventaja en dos sentidos. Primero, para evaluar P
n
(x) se necesitan slo
O(n) operaciones, lo cual hace mucho ms rpido el procedimiento. Y segundo, si agregamos el
par de datos x
n+1
, f(x
n+1
), slo debemos hacer lo siguiente:
Dividir cada w
i
por x
i
x
n+1
.
Calcular un nuevo w
i+1
.
En ambos casos el costo computacional es de n + 1 operaciones. Es decir, podemos
actualizar el polinomio P
n
(x) con slo O(n) operaciones! A esta variante del mtodo de Lagrange
suele llamrsela mtodo mejorado de Lagrange y tiene una ventaja adicional respecto al mtodo
de Newton que rara vez se menciona: los coecientes w
i
no dependen de los datos f(x
n+1
). Esto
permite que podamos interpolar varias funciones con el mismo polinomio. Y mantiene, adems,
la ventaja de no necesitar ordenar los datos, como s requiere el mtodo de Newton.
Pero todava no hemos terminado. Supongamos ahora que interpolamos la constante 1
con el polinomio hallado. En ese caso tenemos
1 =
n

i=0
L
n,i
(x) = L(x)
n

i=0
w
i
x x
i
,
pues hemos visto que L
n,i
(x) = 1 cuando x = x
i
.
Si dividimos P
n
(x) por la expresin anterior, o sea, que la dividimos por 1, nos queda:
P
n
(x) =
L(x)
n

i=0
f(x
i
)
w
i
x x
i
L(x)
n

i=0
w
i
x x
i
,
y simplicando L(x), obtenemos que
P
n
(x) =
n

i=0
f(x
i
)
w
i
x x
i
n

i=0
w
i
x x
i
,
- 76 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
que se denomina interpolacin baricntrica de Lagrange. Al igual que en el caso del mtodo
mejorado, slo se necesitan O(n) operaciones para actualizar el polinomio si agregamos un par
de datos x
n+1
, f(x
n+1
) adicionales.
De todos modos, si la interpolacin la realizamos con puntos uniformemente distanciados
o distribuidos unos de otros, la mala condicin del problema no se puede evitar (pues ningn
algoritmo la mejora). La consecuencia directa de esto es el llamado fenmeno de Runge, que se
da cuando aparecen oscilaciones no deseadas en ambos extremos del intervalo a interpolar (como
puede verse en [1] o [4]). A pesar de esto, en general, la interpolacin baricntrica de Lagrange
es ms estable numricamente que el mtodo de Lagrange orginal y que el mtodo de Newton,
segn el anlisis hecho por N.J. Higham en [7]. Pero para evitar el fenmeno descripto, debemos
cambiar la forma de resolver nuestro problema. Para ello tenemos otra forma de interpolar
mediante polinomios.
4.5. Interpolacin de Hermite
Muchas veces disponemos de ms datos para interpolar. Por ejemplo, supongamos que
para una partcula que se desplaza conocemos los siguientes datos: el instante t
i
, la coordenada
de la trayectoria, y
i
y la velocidad v
i
, para i = 0; 1; . . . ; n. En este caso adems de los valores de
f(t
i
) conocemos tambin los de f

(t
i
) pues v
i
= f

(t
i
). Por lo tanto nuestra tabla original podra
ser reescrita como (tabla 4.3):
Tabla 4.3: Datos incluyendo la primera derivada
t y v
t
0
y
0
v
0
t
1
y
1
v
1
t
2
y
2
v
2
t
3
y
3
v
3
Ahora contamos con ms informacin para construir nuestro polinomio interpolante. En
efecto, de disponer de slo cuatro valores asociados a nuestros puntos (en este caso, el instante
t
i
), pasamos a tener ocho valores asociados dichos puntos. Si queremos utilizar todos los datos
disponibles, en lugar de interpolar con una curva de tercer grado, podemos usar ahora una curva
de grado 7, pues este polinimio tiene ocho coecientes, a saber:
y(t) = a
0
+a
1
t +a
2
t
2
+a
3
t
3
+a
4
t
4
+a
5
t
5
+a
6
t
6
+a
7
t
7
,
del cual podemos hallar la primera derivada, que resulta ser
y

(t) = a
1
+ 2a
2
t + 3a
3
t
2
+ 4a
4
t
3
+ 5a
5
t
4
+ 6a
6
t
5
+ 7a
7
t
6
.
Al igual que al principio, podemos reemplazar cada uno de los valores en las dos ecua-
ciones, con lo cual obtendremos un sistema de ocho ecuaciones con ocho incgnitas, sistema que
puede resolverse sin problemas. Cuando conocemos el valor de la funcin en el punto como as
tambin su derivada, la interpolacin se denomina Interpolacin de Hermite. El siguiente teorema
dene la interpolacin de Hermite.
Teorema 4.3. Sea f C
1
[a; b] y sean x
0
; x
1
; . . . ; x
n
[a; b] distintos, el polinomio nico de
menor grado que concuerda con f y f

en x
0
; x
1
; . . . ; x
n
es el polinomio de Hermite de grado a
lo sumo 2n + 1, que est dado por la siguiente expresin:
H
2n+1
(x) =
n

i=0
f(x
i
)H
n;i
(x) +
n

i=0
f

(x
i
)

H
n;i
(x),
Curso 008 PRELIMINAR - 77 -
4.5. Interpolacin de Hermite Anlisis Numrico I
donde
H
n;i
(x) = [1 2(x x
i
)L

n;i
(x
i
)]L
2
n;i
(x),
y

H
n;i
(x) = (x x
i
)L
2
n;i
(x),
donde L
n;i
(x) es el isimo polinomio de Lagrange de grado n. Si adems f C
2n+2
[a; b],
entonces se cumple que
f(x) = H
2n+1
(x) +
(x x
0
)
2
. . . (x x
n
)
2
(2n + 2)!
f
(2n+2)
(),
con tal que a < < b.
Demostracin Primero, recordemos que
L
n;i
(x) =
_
1 si x = x
i
0 si x ,= x
i
,
por lo tanto, tenemos que:
H
n,i
(x) = 0

H
n,i
(x) = 0,
para x ,= x
i
, en tanto que
H
n,i
(x) = [1 2(x
i
x
i
)L

n;i
(x
i
)]L
2
n;i
(x
i
) = [1 2(0)L

n;i
(x
i
)] 1 = 1,
y

H
n,i
(x) = (x
i
x
i
)L
2
n;i
(x
i
) = (x
i
x
i
) 1
2
= 0.
Entonces, nos queda que:
H
2n+1
(x
k
) =
n

i=0
f(x
k
)H
n;i
(x
k
) +
n

i=0
f

(x
k
)

H
n;i
(x
k
) = f(x
k
) +
n

i=0
f

(x
k
) 0 = f(x
k
),
para k = 0; 1; 2; . . . ; x
n
, es decir H
2n+1
(x) = f(x) en los puntos dados.
Demostremos ahora que H

2n+1
(x) = f

(x). Como L
n
i
(x) es un factor de H

n;i
(x), entonces
se cumple que H

n;i
(x
j
) = 0 cuando j ,= i. Si j = i, tenemos que
H

n;j
(x
j
) = 2 L
2
n;j
(x
j
) + [1 + 2(x
j
x
j
)L

n;j
(x
j
)]2L
n;j
(x
j
)L

n;j
(x
j
)
= 2 L
2
n;j
(x
j
) + 2 L
2
n;j
(x
j
) = 0,
o sea, H

n;i
(x
j
) = 0 para todas la j e i.
Por otro lado, observemos que

n;i
(x
j
) = L
2
n;i
(x
j
) + (x
j
x
i
)2L
n;i
(x
j
)L

n;i
(x
j
)
= L
n;i
(x
j
)[L
n;i
(x
j
) + 2(x
j
x
i
)L

n;i
(x
j
)],
y en consecuencia, cuando j ,= i tendremos que:

n;i
(x
j
) = L
2
n;i
(x
j
) + (x
j
x
i
)2L
n;i
(x
j
)L

n;i
(x
j
) = 0 + 0 = 0,
pues L
n;i
(x
j
) = 0, y cuando j = i

n;j
(x
j
) = L
2
n;j
(x
j
) + (x
j
x
j
)2L
n;j
(x
j
)L

n;j
(x
j
) = 1
2
+ 0 = 1.
- 78 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
Si combinamos ambos casos tenemos
H

2n+1
(x
j
) =
n

i=0
f(x
j
)H

n;i
(x
j
) +
n

i=0
f

(x
j
)

H

n;i
(x
j
)
=
n

i=0
f(x
j
) 0 +f

(x
j
)

H

n;j
(x
j
) = 0 +f

(x
j
) = f

(x
j
),
entonces H
2n+1
(x) = f(x) y H

2n+1
(x) = f

(x) para x
0
; x
1
; . . . ; x
n
.
En realidad, la interpolacin de Hermite es un caso particular de los denominados poli-
nomios osculantes, cuando m
i
= 1. Veamos la siguiente denicin.
Denicin 4.1. Dados x
0
; x
1
; . . . ; x
n
, todos distintos y los enteros no negativos m
0
; m
1
; . . . ; m
n
,
se denomina polinomio osculante que aproxima una funcin f C
m
[a, b] donde se cumple que
m = max m
0
; m
1
; . . . ; m
n
y x
i
[a; b] para cada i = 0; 1; . . . ; n, al polinomio de menor grado que
concuerda con la funcin f y con todas sus derivadas de orden menor o igual m
i
en x
i
para cada
i = 0; 1; . . . ; n. El mximo grado de este polinimio es
M =
n

i=0
m
i
+ n,
pues el nmero de condiciones que debe cumplir es
n

i=0
(m
i
+ 1) =
n

i=0
m
i
+ (n + 1),
y un polinomio de grado M tiene M + 1 coecientes.
Esto quiere decir que adems de las derivadas primeras se pueden tener las derivadas
segundas, terceras, etc., para armar el polinomio interpolante. Si tenemos esos datos (inclusive
puede ocurrir que contemos con datos parciales de las derivadas), el procedimiento visto para la
interpolacin de Hermite se puede ampliar para obtener curvas que tengan segundas o terceras
derivadas. Sin embargo, como el mtodo est basado en los polinomios de Lagrange, si se agregan
datos, el mtodo es bastante engorroso, porque deben repetirse todos los clculos para obtener
el nuevo polinomio interpolante. Existe una forma alternativa de armar el polinomio aplicando
el mtodo de Newton.
De acuerdo con lo ya visto, el polinomio armado segn el mtodo de Newton se escribe
como
P
n
(x) = f(x
0
) +
n

k
f(x
0
; x
1
; . . . ; x
k
)
k1

j=0
(x x
j
).
Para utilizar el mtodo de Newton conociendo los valores de la primera derivada, debemos re-
denir nuestra sucesin. Por ejemplo, si tomamos los datos de la tabla 4.3, nuestra nueva sucesin
de puntos es t
0
; t
0
; t
1
; t
1
; t
2
; t
2
; t
3
; t
3
, es decir, denimos una nueva sucesin z
0
; z
1
; . . . ; z
2n+1
tal
que
z
2i
= z
2i+1
= x
i
( o t
i
en nuestro caso),
para cada i = 0; 1, 2; . . . ; n. Puesto que con esta nueva sucesin no se puede denir f(z
2i
; z
2i+1
)
de la forma vista, resulta conveniente denirla aprovechando que conocemos f

(z
2i
) = f

(x
i
),
con lo que se aprovechan los datos conocidos. En consecuencia, podemos construir la siguiente
tabla
Contsruida nuestra tabla, el polinomio de Hermite se arma de la siguiente manera:
H
2n+1
(x) = f(z
0
) +
2n+1

k=1
_
_
f(z
0
; z
1
; . . . ; z
k
)
k1

j=0
(x z
j
)
_
_
.
Curso 008 PRELIMINAR - 79 -
4.5. Interpolacin de Hermite Anlisis Numrico I
Tabla 4.4: Interpolacin Hermite aplicando el Mtodo de Newton
z f (z) f (z
i
; z
i+1
) f (z
i
; z
i+1
; z
i+2
) f (z
i
; z
i+1
; z
i+2
; z
i+3
)
z
0
= x
0
f(z
0
) = f(x
0
)
f(z
0
; z
1
) = f

(x
0
)
z
1
= x
0
f(z
1
) = f(x
0
) f(z
0
; z
1
; z
2
)
f(z
1
; z
2
) f(z
0
; z
1
; z
2
; z
3
)
z
2
= x
1
f(z
2
) = f(x
1
) f(z
1
; z
2
; z
3
)
f(z
2
; z
3
) = f

(x
1
) f(z
1
; z
2
; z
3
; z
4
)
z
3
= x
1
f(z
3
) = f(x
1
) f(z
2
; z
3
; z
4
)
f(z
3
; z
4
) f(z
2
; z
3
; z
4
; z
5
)
z
4
= x
2
f(z
4
) = f(x
2
) f(z
3
; z
4
; z
5
)
f(z
4
; z
5
) = f

(x
2
) f(z
3
; z
4
; z
5
; z
6
)
z
5
= x
2
f(z
5
) = f(x
2
) f(z
4
; z
5
; z
6
)
f(z
5
; z
6
) f(z
4
; z
5
; z
6
; z
7
)
z
6
= x
3
f(z
6
) = f(x
3
) f(z
5
; z
6
; z
7
)
f(z
6
; z
7
) = f

(x
3
)
z
7
= x
3
f(z
7
) = f(x
3
)
Si aplicamos esto a nuestros datos originales de la tabla 4.3, obtendramos un polinomio
de grado 7. Pero este polinomio sufrir los mismos problemas que ya vimos para los polinomios
de Lagrange, es decir, oscilaciones no deseadas en los extremos del intervalo de interpolacin. De
ah que el mtodo de Hermite no suele usarse de esta forma, sino como parte de una interpolacin
por segmentos. As, para cada intervalo entre puntos tenemos cuatro datos que podemos utilizar
para interpolar valores entre x
i
; x
i+1
. Veamos como aplicarlo a nuestra tabla 4.3.
Para armar la curva que interpola entre t
0
y t
1
, contamos con los valores de y
0
, y
1
, v
0
y v
1
, con lo cual podemos armar un polinomio de Hermite de tercer grado que cumpla con las
condiciones H
3
(t
0
) = f(t
0
) = y
0
; H
3
(t
1
) = f(t
1
) = y
1
, H

3
(t
0
) = f

(t
0
) = v
0
y H

3
(t
1
) = f

(t
1
) =
v
1
. Lo mismo podemos hacer entre t
1
y t
2
, y as hasta el intervalo t
2
y t
3
. Tendremos, entonces,
cuatro polinomios de Hermite para todo el intervalo, a saber, H
1;0
(t), H
1;1
(t),

H
1;0
(t) y

H
1;0
(t).
Los polinomios resultantes son:
H
1;0
(t) =
_
1 2(x x
0
)
1
x
0
x
1
_ _
x x
1
x
0
x
1
_
2
H
1;1
(t) =
_
1 2(x x
1
)
1
x
1
x
0
_ _
x x
0
x
1
x
0
_
2

H
1;0
(t) = (x x
0
)
_
x x
1
x
0
x
1
_
2

H
1;1
(t) = (x x
1
)
_
x x
0
x
1
x
0
_
2
Como adems se cumple que H
3;i
(t
i+1
) = H
3;i+1
(t
i+1
) y H

3;i
(t
i+1
) = H

3;i+1
(t
i+1
), tene-
mos continuidad para la curva y su primera derivada. Podemos armar una curva con segmentos
de curvas de tercer grado, que puede representar a la funcin y a la primera derivada, sin tener
que preocuparnos por los efectos negativos de las oscilaciones no deseadas en los extremos. Este
mtodo se usa en el mtodo de los elementos nitos para armar las funciones de forma en los
elementos de viga.
De todos modos, como para poder armar este tipo de curvas debemos conocer los valores
de las derivadas en cada punto, algo que no siempre es posible, usar estos segmentos de curvas
- 80 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
con polinomios de Hermite no siempre resultan ser una solucin aplicable. De ah que existe otra
manera de obtener curvas con estas caractersticas.
4.6. Interpolacin por splines
Supongamos que en lugar de proponer interpolar los datos de la tabla 4.1 mediante un
solo polinomio que pase por todos los puntos, lo hagamos mediante segmentos de curvas, en
este caso con polinimios de tercer grado, denominados trazadores cbicos, similares al caso de la
interpolacin por segmentos de polinomios de Hermite. Denamos las curvas como
S
i
(x) = a
i
+b
i
(x x
i
) +c
i
(x x
i
)
2
+d
i
(x x
i
)
3
,
con i = 0; 1; . . . ; n1. Como en el caso anterior, observemos que tenemos cuatro constantes para
cada polinomio, por lo tanto, debemos agregar condiciones para poder armar nuestra interpo-
lacin. Como no conocemos los valores de las derivadas en los puntos, las condiciones que las
curvas debern cumplir son:
1. S
i
(x
i
) = f(x
i
) para cada i = 0; 1; . . . ; n;
2. S
i+1
(x
i+1
) = S
i
(x
i+1
) para cada i = 0; 1; . . . ; n 2;
3. S

i+1
(x
i+1
) = S

i
(x
i+1
) para cada i = 0; 1; . . . ; n 2;
4. S

i+1
(x
i+1
) = S

i
(x
i+1
) para cada i = 0; 1; . . . ; n 2;
5. Se deben cumplir alguna de las siguiente condiciones de borde:
a) S

0
(x
0
) = S

n1
(x
n
) = S

n
(x
n
) = 0 (frontera libre);
b) S

0
(x
0
) = f

(x
0
) y S

n1
(x
n
) = S

n
(x
n
) = f

(x
n
) (frontera sujeta).
La primera condicin asegura que las curvas pasen por los datos, en tanto que las tres
condiciones siguientes aseguran la continuidad del conjunto de curvas tanto para las funciones
S
i
como para sus derivadas primera y segunda.
Para obtener cada polinomio, empecemos por plantear las condiciones denidas arriba.
En primer lugar, como S
i
(x
i
) = f(x
i
), tendremos que:
S
i
(x
i
) = a
i
= f(x
i
),
y si aplicamos la segunda condicin tenemos que:
a
i+1
= S
i+1
(x
i+1
) = S
i
(x
i+1
) = a
i
+b
i
(x
i+1
x
i
) +c
i
(x
i+1
x
i
)
2
+d
i
(x
i+1
x
i
)
3
,
para cada i = 0; 1; . . . ; n 2. Para simplicar la notacin denamos h
i
= (x
i+1
x
i
). Si adems
denimos que a
n
= f(x
n
), entonces nos queda que
a
i+1
= a
i
+b
i
h
i
+c
i
h
2
i
+d
i
h
3
i
,
es vlida para cada i = 0; 1; . . . ; n 1.
De la misma forma tenemos que
S

i
(x
i
) = b
i
,
por lo tanto tambin se cumple que
b
i+1
= b
i
+ 2c
i
h
i
+ 3d
i
h
2
i
,
es vlida tambin para cada i = 0; 1; . . . ; n 1.
Curso 008 PRELIMINAR - 81 -
4.6. Interpolacin por splines Anlisis Numrico I
Finalmente, tenemos que
S

i
(x
i
) = 2c
i
.
Como se cumple que c
n
= S

n
(x
n
)/2, nos queda que:
c
i+1
= c
i
+ 3d
i
h
i
,
una vez ms, para cada i = 0; 1; . . . ; n1. Si despejamos d
i
y reemplazamos en las dos expresiones
anteriores, nos queda:
a
i+1
= a
i
+b
i
h
i
+
h
2
i
3
(2c
i
+c
i+1
),
b
i+1
= b
i
+h
i
(c
i
+c
i+1
),
para cada i = 0; 1; . . . ; n 1.
En la primera ecuacin podemos despejar b
i
, que resulta ser
b
i
=
a
i+1
a
i
h
i

h
i
3
(2c
i
+c
i+1
).
Si usamos la segunda para obtener b
i
en vez de b
i+1
y utilizamos la expresin anterior para b
i1
,
nos queda
a
i+1
a
i
h
i

h
i
3
(2c
i
+c
i+1
) =
a
i
a
i1
h
i1

h
i1
3
(2c
i1
+c
i
) +h
i1
(c
i1
+c
i
)
h
i1
c
i1
+ 2(h
i1
+h
i
)c
i
+h
i
c
i+1
=
3
h
i
(a
i+1
a
i
)
3
h
i1
(a
i
a
i1
),
para cada i = 1; 2; . . . ; n 1.
Ahora nos falta determinar si con este esquema podemos obtener un resultado nico para
los valores de c
i
. Para ello tenemos el siguiente teorema:
Teorema 4.4. Sea f en a = x
0
< x
1
< . . . < x
n
= b, entonces f tendr un interpolante nico
de frontera libre o natural en los nodos x
0
; x
1
; . . . ; x
n
.
Demostracin Si la curva es de frontera libre o natural, entonces se cumple que S

0
(a) = 0 y
S

n1
(b) = S

n
(b) = 0, por lo tanto tendremos que
c
n
=
S

n
(x
n
)
2
= 0;
y que
0 = S

0
(x
0
) = 2c
0
+ 6d
0
(x
0
x
0
) c
0
= 0.
En consecuencia, nos queda un sistema de ecuaciones de la forma Ax = B con
A =
_

_
1 0 0 . . . . . . 0
h
0
2(h
0
+h
1
) h
1
.
.
.
.
.
.
.
.
.
0 h
1
2(h
1
+h
2
) h
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
h
n2
2(h
n2
+h
n1
) h
n1
0 . . . . . . 0 0 1
_

_
,
- 82 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
B =
_

_
0
3
h
1
(a
2
a
1
)
3
h
0
(a
1
a
0
)
.
.
.
.
.
.
3
h
n1
(a
n
a
n1
)
3
h
n2
(a
n1
a
n2
)
0
_

_
y x =
_

_
c
0
c
1
.
.
.
.
.
.
c
n
_

_
.
Una vez obtenidos los valores de los c
i
, podemos hallar los restantes coeciente, b
i
y d
i
con las
expresiones ya vistas:
d
i
=
c
i+1
c
i
3h
i
,
b
i
=
a
i+1
a
i
h
i

h
i
3
(2c
i
+c
i+1
).
Con todos los coecientes obtenemos nalmente las S
i
(x) curvas o polinomios que inter-
polan los datos.
Para el caso de las splines con frontera sujeta tenemos el siguiente teorema.
Teorema 4.5. Sea f en a = x
0
< x
1
< . . . < x
n
= b, y diferenciable en a y en b, entonces f
tendr un interpolante nico de frontera sujeta en los nodos x
0
; x
1
; . . . ; x
n
.
Demostracin Puesto que conocemos f

(a) = f

(x
0
), tenemos que
b
0
= f

(a) = f

(x
0
) =
a
1
a
0
h
0

h
0
3
(2c
0
c
1
),
y nos queda que
2h
0
c
0
h
0
c
1
= 3
_
a
1
a
0
h
0
f

(a)
_
.
Anlogamente, tenemos que
f

(b) = f

(x
n
) = b
n
= b
n1
+h
n1
(c
n1
+c
n
),
que podemos escribir como
f

(b) = =
a
n
a
n1
h
n1

h
n1
3
(2c
n1
+c
n
) +h
n1
(c
n1
+c
n
)
=
a
n
a
n1
h
n1
+
h
n1
3
(c
n1
+ 2c
n
),
y que nos deja la siguiente ecuacin:
h
n1
c
n1
2h
n1
c
n
= 3
_
f

(b)
a
n
a
n1
h
n1
_
.
En consecuencia, nos queda el siguiente sistema de ecuaciones
A =
_

_
2h
0
h
0
0 . . . . . . 0
h
0
2(h
0
+h
1
) h
1
.
.
.
.
.
.
.
.
.
0 h
1
2(h
1
+h
2
) h
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
h
n2
2(h
n2
+h
n1
) h
n1
0 . . . . . . 0 h
n1
2h
n1
_

_
,
Curso 008 PRELIMINAR - 83 -
4.6. Interpolacin por splines Anlisis Numrico I
B =
_

_
3
_
a
1
a
0
h
0
f

(a)
_
3
h
1
(a
2
a
1
)
3
h
0
(a
1
a
0
)
.
.
.
.
.
.
3
h
n1
(a
n
a
n1
)
3
h
n2
(a
n1
a
n2
)
3
_
f

(b)
a
n
a
n1
h
n1
_
_

_
, y x =
_

_
c
0
c
1
.
.
.
.
.
.
c
n
_

_
.
En ambos casos los sistemas de ecuaciones son estrictamente diagonal dominantes, por
lo tanto tienen solucin nica, es decir, existe un nico vector c
0
, c
1
, . . ., c
n
para cada sistema.
En cuanto al error que cometemos al interpolar una curva utilizando splines, podemos
expresarlo, para el caso con frontera libre, como
max
axb
[f(x) S(x)[
5
384
M max
0in1
[h
i
[
4
,
donde S(x) es el conjunto de las S
i
(x) curvas y h
i
= x
i+1
x
i
. Sin embargo, cuando se utiliza
este caso, el orden del error en los extremos es proporcional a [h
i
[
2
y no a [h
i
[
4
, por lo que no
siempre es bueno aplicar el caso de frontera libre o natural.
Finalmente, existe un tercer caso cuando no conocemos las derivadas extremas (f

(a) y
f

(b)), denominado aproximacin sin un nodo


2
, en el cual se considera que d
0
= d
1
y d
n2
=
d
n1
, que es lo mismo que considerar que S
0
(x) = S
1
(x) y S
n2
(x) = S
n1
(x), lo cual tambin
introduce un error en los extremos del orden de [h
i
[
2
.
Para este ltimo caso tenemos lo siguiente:
c
1
= c
0
+ 3d
0
h
0
d
0
=
c
1
c
0
3h
0
c
2
= c
1
+ 3d
1
h
1
d
1
=
c
2
c
1
3h
1
.
Como d
0
= d
1
, entonces
c 1 c
0
3h
0
=
c
2
c
1
3h
1
h
1
c
1
h
1
c
0
= h
0
c
2
h
0
c
1
,
lo que nos deja la siguiente expresin para la primera la del sistema:
h
1
c
0
(h
0
+h
1
)c
1
+h
0
c
2
= 0.
Anlogamente, para d
n2
y d
n1
tenemos algo similar:
c
n1
= c
n2
+ 3d
n2
h
n2
d
n2
=
c
n1
c
n2
3h
n2
c
n
= c
n1
+ 3d
n1
h
n1
d
n1
=
c
n
c
n1
3h
n1
,
de las cuales obtenemos la ltima la del sistema:
h
n1
c
n2
(h
n2
+h
n1
)c
n1
+h
n2
c
n
= 0.
2
Algunos textos denominan a esta aproximacin como condicin no un nodo, por la expresin en ingls not a
knot approximation.
- 84 - PRELIMINAR Curso 008
Anlisis Numrico I 4. Interpolacin de curvas
As, el sistema queda como:
A =
_

_
h
1
(h
0
+h
1
) h
0
. . . . . . 0
h
0
2(h
0
+h
1
) h
1
.
.
.
.
.
.
.
.
.
0 h
1
2(h
1
+h
2
) h
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
h
n2
2(h
n2
+h
n1
) h
n1
0 . . . . . . h
n1
(h
n2
+h
n1
) h
n2
_

_
,
B =
_

_
0
3
h
1
(a
2
a
1
)
3
h
0
(a
1
a
0
)
.
.
.
.
.
.
3
h
n1
(a
n
a
n1
)
3
h
n2
(a
n1
a
n2
)
0
_

_
, y x =
_

_
c
0
c
1
.
.
.
.
.
.
c
n
_

_
.
Esta variante de la interpolacin por spline es poco usada porque tiene muchas ms
indeniciones que la natural.
4.7. Notas nales
Hemos visto diferentes mtodos para interpolar valores a partir de datos discretos usando
funciones polinmicas completas, como son los mtodos de Lagrange, de Newton y de Hermite, y
tambin la interpolacin mediante segmentos de curvas, como es el caso del mtodo de Hermite
fragmentado y el de spline cbico. Dentro de este ltimo conjunto est tambin el mtodo de
interpolacin lineal por segmentos, cuyas funciones se obtienen utilizando el mtodo de Lagrange
tradicional entre dos puntos. As, los dos polinomios de Lagrange necesarios son:
L
1;0
(x) =
x x
1
x
0
x
1
L
1;1
(x) =
x x
0
x
1
x
0
,
donde x
0
es el punto inicial y x
1
el punto nal de la interpolacin. Con estos dos polinomios, el
polinomio completo de Lagrange resulta ser:
P
1
(x) = f(x
0
)L
1;0
(x) +f(x
1
)L
1;1
(x)
= f(x
0
)
x x
1
x
0
x
1
+f(x
1
)
x x
0
x
1
x
0
= f(x
1
)
x x
0
x
1
x
0
f(x
0
)
x x
1
x
1
x
0
=
f(x
1
) f(x
0
)
x
1
x
0
x
f(x
1
)x
0
f(x
0
)x
1
x
1
x
0
.
Adems de los mtodos vistos, existen otros ms complejos que mejoran nuestra aproxi-
macin de valores intermedios, pero que suelen ser tambin ms difciles de implementar y con
mayor costo computacional. En particular, para ciertas curvas que no pueden ser denidas me-
diante polinomios contamos con curvas paramtricas denominadas curvas de Bezier. (Para ms
datos, vase [1].)
Respecto la interpolacin baricntrica de Lagrange, Berrut y Trefethen (vsae [14]) sealan
en su artculo, que resulta curioso que el mtodo no gure en ningn libro de texto de anlisis
numrico como alternativa al mtodo tradicional, teniendo en cuenta la simplicidad del mismo
para ser implementado en una computadora.
Curso 008 PRELIMINAR - 85 -
4.7. Notas nales Anlisis Numrico I
Por ltimo, resulta interesante observar que el diseo asistido por computadora (CAD
por sus siglas en ingls) hace un uso intensivo de la interpolacin fragmentada (o segmentada),
con las spline, y las curvas paramtricas (curvas de Bezier). Las primeras son muy usadas en
programas como el AutoCAD
r
, en tanto que las segundas, en programas como el Corel Draw
r
,
OpenDraw o similares. Por tal motivo, resulta til conocer los fundamentos matemticos de cada
una de ellas.
- 86 - PRELIMINAR Curso 008
Anlisis Numrico I 5. Mejor aproximacin y ajuste de funciones
Captulo 5
Mejor aproximacin y ajuste de
funciones
5.1. Mejor aproximacin
5.1.1. Introduccin
Uno de los problemas que suele tener que resolver un ingeniero es el de armar una fun-
cin que ajuste datos obtenidos experimentalmente. Hemos visto en el captulo anterior como
interpolar valores mediante el armado de polinomios que pasan por los puntos dados. Adems,
de acuerdo con lo visto, si la cantidad de puntos era muy grande, interpolar mediante polinomios
creaba curvas de alto grado, que se vuelven muy inestables en los extremos. Vimos que de todos
modos esto se poda resolver en parte mediante interpolaciones fragmentadas o segmentos de
curvas (polinomios de Hermite cuando conocemos la primera derivada o spline cuando no la
conocemos). Pero en todos los casos, una de las condiciones fundamentales es que los puntos x
i
sean distintos. Qu hacemos cuando esto no es as, cuando la cantidad de puntos exceden la ca-
pacidad de armar polinomios interpolantes o cuando los puntos que usaremos son aproximaciones
a lso valores reales?
Supongamos que tenemos una serie de datos empricos obtenidos en laboratorio, tales
que el conjunto de datos no cumple estrictamente que los x
i
sean distintos, con lo cual para un
mismo x
i
tenemos varios valores de f(x
i
). (En realidad suele suceder que aunque los x
i
sean
distintos, varios x
j
sean sucientemente cercanos como para considerarlos iguales.) Adems que
la cantidad de datos disponibles hagan imposible que armemos un polinomio de grado menor a
4 o 5 que pase por todos los puntos y as evitar el mal condicionamiento del problema. Lo que
necesitamos, entonces, es una curva que ajuste lo mejor posible los datos que disponemos, o sea,
que el error entre los puntos y esa funcin de ajuste sea el menor posible, sin que la curva pase
por los puntos dados.
Para ello tenemos una forma de estimar este error. Supongamos que efectivamente se
cumpla que los x
i
sean distintos, que x
0
< x
1
< . . . < x
n
para los cuales conocemos f(x
0
),f(x
1
),. . .
,f(x
n
). Asumamos que la aproximacin la haremos con la siguiente funcin:
y(x) = c
0

0
(x) +c
1

1
(x) +. . . +c
m

m
(x) =
m

i=0
c
i

i
(x),
donde m < n, es decir, tenemos menos funciones disponibles que puntos, y las
i
(x) son lineal-
mente independientes, o sea, conforman una base de funciones. Como lo que buscamos es que el
error entre los datos y la funcin de ajuste sea el menor posible, podemos plantear que
r
i
= f(x
i
) y(x
i
), para 0 i n,
es decir, el residuo, sea mnimo. Una forma de analizar esto es mediante la norma del residuo.
Curso 008 PRELIMINAR - 87 -
5.1. Mejor aproximacin Anlisis Numrico I
5.1.2. Error y normas
Lo que necesitamos hallar es una ncin y(x) que me aproxime lo mejor posible nuestros
valores f(x
i
), o, lo que es lo mismo, que nuestro error sea mnimo. Pero qu error minimizamos?
Una idea es trabajar con la norma del residuo, tal como lo hacamos en sistemas de ecuaciones
lineales. Para ello tenemos varias opciones, a saber:
1. Que el norma uno del residuo sea mnima, es decir, |r|
1
sea mnima;
2. Que el norma innita del residuo sea mnima, es decir, |r|

sea mnima;
3. Que el norma dos (eucldea) del residuo sea mnima, es decir, |r|
2
sea mnima.
La primera norma es buena si uno quiere eliminar aquellos valores considerados como
desviaciones, por ejemplo, mediciones mal hechas o valores que fcilmente puede inferirse err-
neos. Consiste en minimizar la siguiente expresin:
|r|
1
=
n

i=0
[r
i
[ =
n

i=0
[f(x
i
) y(x
i
)[
La segunda, es un caso de mnimo-mximo en la cual se tiene que:
mn
c
0
;c
1
;...;c
m
max
0jn
[f(x
i
) y(x
i
)[ .
Esto es til cuando los valores mximos del error deben ser considerados al momento de la
vericacin.
Ambos casos resultan muy tiles cuando se trabaja con datos discretos, en los que tiene
suma importancia vericar la exactitud de esos datos, o eventualmente, encontrar errores de
medicin, de transcripcin, etc.
Los dos casos recin analizados, |r|
1
, y |r|

llevan a la programacin lineal, materia


que est fuera del alcance de nuestro curso, y que resultan mucho ms complejos de analizar que
la ltima opcin indicada.
sta consiste en minimizar la expresin:
|r|
2
=

_
n

i=0
[r
i
[
2
=

_
n

i=0
[f(x
i
) y(x
i
)]
2
,
o, lo que es lo mismo,
|r|
2
2
=
n

i=0
[r
i
[
2
=
n

i=0
[f(x
i
) y(x
i
)]
2
.
Como nuestra funcin la podemos expresar como:
y(x) =
m

j=0
c
j

j
x,
tendremos que la expresin a minimizar es:
E (c
0
; c
1
; . . . ; c
m
) =
n

i=0
_
_
f(x
i
)
m

j=0
c
j

j
(x
i
)
_
_
2
,
de ah el nombre de mtodo de los cuadrados mnimos, pues lo que se minimiza es el cuadrado
del residuo.
- 88 - PRELIMINAR Curso 008
Anlisis Numrico I 5. Mejor aproximacin y ajuste de funciones
5.1.3. Mtodo de los cuadrados mnimos
Para obtener que la funcin E(c
0
; c
1
; . . . ; c
m
) sea mnima, debemos aplicar un concepto
conocido: hacer que
E
c
j
= 0, puesto que E es funcin de los coecientes. En consecuencia
tendremos que:
E
c
j
=

c
j
_
_
n

i=0
_
f(x
i
)
m

k=0
c
k

k
(x
i
)
_
2
_
_
= 0
=
n

i=0

c
j
_
f(x
i
)
m

k=0
c
k

k
(x
i
)
_
2
= 0.
que si desarrollamos nos queda:
E
c
j
= 2
n

i=0
_
f(x
i
)
m

k=0
c
k

k
(x
i
)
_
(
j
(x
i
)) = 0 para j = 0; 1; . . . ; m.
Si distribuimos el producto nos queda:
n

i=0
_
f(x
i
)
j
(x
i
)
m

k=0
c
k

k
(x
i
)
j
(x
i
)
_
= 0
n

i=0
f(x
i
)
j
(x
i
)
n

i=0
m

k=0
c
k

k
(x
i
)
j
(x
i
) = 0
n

i=0
m

k=0
c
k

k
(x
i
)
j
(x
i
) =
n

i=0
f(x
i
)
j
(x
i
),
para j = 0; 1; . . . ; m. Como podemos intercambiar las sumatorias, nalmente nos queda:
m

k=0
c
k
n

i=0

k
(x
i
)
j
(x
i
) =
n

i=0
f(x
i
)
j
(x
i
),
para j = 0; 1; . . . ; m.
Avancemos un poco ms. Al desarrollar la sumatoria en i del trmino de la izquierda, nos
queda:
n

i=0

k
(x
i
)
j
(x
i
) =
k
(x
0
)
j
(x
0
) +
k
(x
1
)
j
(x
1
) +. . . +
k
(x
n
)
j
(x
n
).
Lo mismo podemos hacer con la sumatora del trmino de la derecha, con lo que tenemos
n

i=0
f(x
i
)
j
(x
i
) = f(x
0
)
j
(x
0
) +f(x
1
)
j
(x
1
) +. . . +f(x
n
)
j
(x
n
).
Para facilitar la notacin, denamos lo siguiente:
n

i=0

k
(x
i
)
j
(x
i
) = (
k
;
j
)
n

i=0
f(x
i
)
j
(x
i
) = (f;
j
).
Entonces, la expresin que nos queda es
m

k=0
c
k
(
k
;
j
) = (f;
j
),
Curso 008 PRELIMINAR - 89 -
5.1. Mejor aproximacin Anlisis Numrico I
para j = 0; 1; . . . ; m. Ahora desarrollemos la sumatoria en k, con lo cual obtenemos lo siguiente:
c
0
(
0
;
j
) +c
1
(
1
;
j
) +. . . +c
m
(
m
;
j
) = (f;
j
).
Como j = 0; 1; . . . ; m, entonces podemos armar m+ 1 ecuaciones, lo que nalmente nos deja:
c
0
(
0
;
0
) +c
1
(
1
;
0
) +. . . +c
m
(
m
;
0
) = (f;
0
)
c
0
(
0
;
1
) +c
1
(
1
;
1
) +. . . +c
m
(
m
;
1
) = (f;
1
)
.
.
.
.
.
.
.
.
.
.
.
.
c
0
(
0
;
m
) +c
1
(
1
;
m
) +. . . +c
m
(
m
;
m
) = (f;
m
),
que podemos escribir tambin en forma matricial como
_

_
(
0
;
0
) (
1
;
0
) . . . (
m
;
0
)
(
0
;
1
) (
1
;
1
) . . . (
m
;
1
)
.
.
.
.
.
.
.
.
.
.
.
.
(
0
;
m
) (
1
;
m
) . . . (
m
;
m
)
_

_
_

_
c
0
c
1
.
.
.
c
m
_

_
=
_

_
(f;
0
)
(f;
1
)
.
.
.
(f;
m
)
_

_
.
Esta matriz resulta ser simtrica, pues (
i
;
j
) = (
j
;
i
), y denida positiva. El proble-
ma se reduce a resolver un sistema ecuaciones lineales cuyas incgnitas son los coecientes c
k
.
Obtenidos estos coecientes, los reemplazamos en la funcin que hemos denido, que ser la que
aproxime nuestros puntos.
Existe otra forma de plantear el problema, esta vez en forma matricial desde el principio.
Supongamos que represnetamos nuestros puntos con la funcin elegida. Entonces nos queda:
f(x
0
) =
m

k=0
c
k

k
(x
0
) = c
0

0
(x
0
) +c
1

1
(x
0
) +. . . +c
m

m
(x
0
)
f(x
1
) =
m

k=0
c
k

k
(x
1
) = c
0

0
(x
1
) +c
1

1
(x
1
) +. . . +c
m

m
(x
1
)
.
.
.
f(x
n
) =
m

k=0
c
k

k
(x
n
) = c
0

0
(x
n
) +c
1

1
(x
n
) +. . . +c
m

m
(x
n
)
Si escribimos esto en foma matricial nos queda
_

_
f(x
0
)
f(x
1
)
.
.
.
f(x
n
)
_

_
=
_

0
(x
0
)
1
(x
0
) . . .
m
(x
0
)

0
(x
1
)
1
(x
1
) . . .
m
(x
1
)
.
.
.

0
(x
n
)
1
(x
n
) . . .
m
(x
n
)
_

_
_

_
c
0
c
1
.
.
.
c
m
_

_
,
que resulta ser un sistema de m incgnitas con n ecuaciones, donde m < n, en el cual no existe
una nica solucin. Si hacemos
f =
_

_
f(x
0
)
f(x
1
)
.
.
.
f(x
n
)
_

_
; =
_

0
(x
0
)
1
(x
0
) . . .
m
(x
0
)

0
(x
1
)
1
(x
1
) . . .
m
(x
1
)
.
.
.

0
(x
n
)
1
(x
n
) . . .
m
(x
n
)
_

_
y c =
_

_
c
0
c
1
.
.
.
c
m
_

_
,
podemos decir que nos queda una ecuacin del tipo f = c. Como lo que buscamos es aproximar
una funcin, denamos esta vez el residuo como r = f c. Al igual que en el desarrollo anterior,
vamos a obtener nuestra nueva funcin haciendo que |r|
2
2
se a mnimo. En conscuencia, tenemos
|r|
2
2
= |f c|
2
2
.
- 90 - PRELIMINAR Curso 008
Anlisis Numrico I 5. Mejor aproximacin y ajuste de funciones
Recordemos que |r|
2
2
= r
t
r, entonces tendremos que
r
t
r = (f c)
T
(f c) .
De nuevo, para obtener que el residuo sea mnimo, anulemos la primera derivada, es decir,
hagamos
r
T
r
c
j
=

c
j
_
(f c)
T
(f c)
_
= 0.
Al derivar nos queda

T
(f c) (f c)
T
= 0,
que desarrollada se transforma en

T
f
T
c +f
T
c
T

T
= 0.
Como
T
f = f
T
y c
T

T
=
T
c, la ecuacin anterior nos queda como

T
f
T
c +
T
f
T
c = 0
2(
T
f
T
c) = 0

T
f
T
c = 0

T
c =
T
f,
donde
T
es una matriz simtrica denida positiva, y tiene la forma
_

_
(
0
;
0
) (
1
;
0
) . . . (
m
;
0
)
(
0
;
1
) (
1
;
1
) . . . (
m
;
1
)
.
.
.
.
.
.
.
.
.
.
.
.
(
0
;
m
) (
1
;
m
) . . . (
m
;
m
)
_

_
;
y
T
f tiene la forma
_

_
(f;
0
)
(f;
1
)
.
.
.
(f;
m
)
_

_
.
Si hacemos A =
T
, x = c y B =
T
f, entonces volvemos a tener nuestros sistema de
ecuaciones lineales en la forma Ax = B. De nuevo, el mtodo de los cuadrados mnimos no es
otra cosa que la resolucin de un sistema de ecuaciones lineales para obtener los coecientes c
de nuestra funcin de ajuste, algo a lo que habamos llegado mediante la deduccin anterior.
Este mtodo suele usarse para obtener la recta de regresin. Para obtenerlo, basta que
observemos que
y(x) =
m

i=0
c
i

i
(x) = c
0
+c
1
x,
es la recta que ajusta nuestros datos, con lo cual
0
= 1 y
1
= x. El siguiente paso es armar la
matriz A. Sabemos que
(
k
;
j
) =
n

i=0

k
(x
i
)
j
(x
i
) y (f;
j
) =
n

i=0
f(x
i
)
j
(x
i
),
Curso 008 PRELIMINAR - 91 -
5.1. Mejor aproximacin Anlisis Numrico I
entonces podemos escribir las componentes de A y B como
(
0
;
0
) =
n

i=0
1 1 = n + 1
(
1
;
0
) =
n

i=0
x
i
1 =
n

i=0
x
i
(
0
;
1
) = (
1
;
0
) =
n

i=0
x
i
(
1
;
1
) =
n

i=0
(x
i
x
i
) =
n

i=0
(x
i
)
2
(f;
0
) =
n

i=0
(f(x
i
) 1) =
n

i=0
f(x
i
)
(f;
1
) =
n

i=0
(f(x
i
) x
i
),
y nuestro sistema quedar de la siguiente manera:
_

_
n + 1
n

i=0
x
i
n

i=0
x
i
n

i=0
(x
i
)
2
_

_
_
c
0
c
1
_
=
_

_
n

i=0
f(x
i
)
n

i=0
(f(x
i
) x
i
)
_

_
.
Despejando c
0
y c
1
obtenemos:
c
0
=
n

i=0
(x
i
)
2
n

i=0
f(x
i
)
n

i=0
(f(x
i
) x
i
)
n

i=0
x
i
(n + 1)
n

i=0
(x
i
)
2

_
n

i=0
x
i
_
2
c
1
=
(n + 1)
n

i=0
(f(x
i
) x
i
)
n

i=0
x
i
n

i=0
f(x
i
)
(n + 1)
n

i=0
(x
i
)
2

i=0
x
i
Existen algunas variantes para este tipo de regresiones, que son:
ln(y) = ln(c
0
) +c
1
ln(x) (y = c
0
x
c
1
)
ln(y) = ln(c
0
) +c
1
x (y = c
0
e
c
1
x
)
y = c
0
+c
1
ln(x),
que permiten ajustar valores segn distintas curvas. Sin embargo, estas expresiones no son ajustes
por cuadrados mnimos en un sentido estricto. Lo correcto sera proponer una funcin del tipo

i
c
i

i
(x) en lugar de transformar los datos. (Para ms detalles, vase [1].)
Si ampliamos este esquema a una funcin polinmica tendremos que
y(x) =
m

k=0
c
k

k
(x) =
m

k=0
c
k
x
k
= c
0
+c
1
x +c
2
x
2
+. . . +c
m
x
m
.
- 92 - PRELIMINAR Curso 008
Anlisis Numrico I 5. Mejor aproximacin y ajuste de funciones
Al armar el sistema de ecuaciones nos quedar
_

_
n + 1
n

i=0
x
i
. . .
n

i=0
x
m1
i
n

i=0
x
m
i
n

i=0
x
i
n

i=0
x
2
i
. . .
n

i=0
x
m
i
n

i=0
x
m+1
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
n

i=0
x
m1
i
n

i=0
x
m
i
. . .
n

i=0
x
2(m1)
i
n

i=0
x
2m1
i
n

i=0
x
m
i
n

i=0
x
m+1
i
. . .
n

i=0
x
2m1
i
n

i=0
x
2m
i
_

_
_

_
c
0
c
1
.
.
.
c
m1
c
m
_

_
=
_

_
n

i=0
f(x
i
)
n

i=0
(f(x
i
) x
i
)
.
.
.
n

i=0
(f(x
i
) x
m1
i
)
n

i=0
(f(x
i
) x
m
i
)
_

_
.
La matriz de coecientes no es otra cosa que una matriz de Vandemonde, similar a la
obtenida para interpolar una serie de puntos, de ah que cualquier ajuste de curvas hecho con
polinomios resulta ser un problema mal condicionado. Por supuesto, la mala condicin de la
matriz se hace cada vez ms evidente a medida que m sea ms grande. Es por eso que no se
recomienda trabajar con polinomios de grado mayor a 4 o 5. Pero de todos modos conviene que
recordemos que el ajuste polinomial, al igual que la interpolacin polinomial son problemas con
tendencia a ser mal condicionados.
5.2. Ajuste de funciones
5.2.1. Introduccin
En el punto anterior hemos visto un mtodo para ajustar curvas a partir de datos numri-
cos (discretos), con el objetivo de obtener valores de la funcin f(x) para valores de x distintos
a los datos en el intervalo dado. E
Ahora bien, existen situaciones en las cuales an conociendo la funcin f(x), resulta con-
veniente efectuar algn tipo de aproximacin. Un ejemplo tpico de ello es el caso de las funciones
trigonomtricas (por ejemplo, cos(x)), para la cual es necesario realizar alguna aproximacin para
calcular sus valores. La ms comn es la hecha mediante las series de Taylor. Para estas funciones
puede ser muy til aplicar el desarrollo en series, pero no suele ser el caso general, puesto que
las series de Taylor son vlidas slo en el entorno de un punto, lo que le quita generalidad.
Y en qu casos necesitaramos nosotros contar con una aproximacin de una funcin
conocida? Supongamos que tenemos la siguiente funcin:
f(x) =
e
x
cos(x)
ln(x) arctan(x)
,
en un intervalo [a, b]. Supongamos adems, que nuestro problema exige que integremos esa funcin
f(x) en el intervalo dado. Podemos ver que la situacin ya no es tan fcil como parece. Si bien
disponemos de la funcin, hallar la primitiva puede ser todo un desafo, e incluso, imposible.
Pero de alguna manera debemos salvar el escollo.
Que tal si en vez de hacer una integral analtica nos orientamos hacia una solucin
numrica? La idea no es tan descabellada pues lo que nosotros necesitamos es el resultado numri-
co y no la primitiva de la misma. Hagamos uso entonces de nuestras herramientas numricas
aprendidas anteriormente y, si es necesario, adecuemos nuestras expresiones al caso analizado.
5.2.2. Aproximacin por mnimos cuadrados
Recordemos qu signica reducir al mnimo el error cuadrtico entre la funcin y el
polinomio de aproximacin. Supongamos por un momento que conocemos tanto la funcin f(x)
Curso 008 PRELIMINAR - 93 -
5.2. Ajuste de funciones Anlisis Numrico I
como el polinomio de aproximacin P(x), en el intervalo [a; b]. Podemos gracar nuestra funcin
y nuestro polinomio de manera que nos queden las curvas que se ven la gura 5.1.
Figura 5.1: Error cuadrtico
Si denimos que:
E(a
k
) =
_
b
a
_
f(x)
n

k=0
a
k
x
k
_
2
dx = |r(a
k
)|
2
2
,
entonces podemos ver que que el rea bajo la curva r(a
k
)
2
es el valor de nuestra integral. Por lo
tanto, para que nuestro error cuadrtico sea mnimo, deberemos buscar que la curva r(a
k
)
2
sea
los ms parecida al eje de abscisas. (Esta denicin es similar a la vista para ajuste de curvas.)
Para ello, vamos a derivar la funcin E(a
k
) respecto de los coecientes a
k
para obtener
los valores de dichos coecientesn que hagan mnimo el error cuadrtico, tal como hicimos para
el caso de un ajustse discreto. Entonces tendremos:
E (a
0
; a
1
; . . . , a
n
)
a
j
= 0

a
j
_
_
_
_
b
a
_
f(x)
n

k=0
a
k
x
k
_
2
dx
_
_
_
= 0.
Al derivar nos queda:
2
_
b
a
_
f(x)
n

k=0
a
k
x
k
_
x
j
dx = 0,
y como el 2 no incide, nos queda:
_
b
a
_
f(x)
n

k=0
a
k
x
k
_
x
j
dx = 0.
Si distribuimos el producto dentro de la integral, nos queda:
n

k=0
a
k
_
b
a
x
k+j
dx =
_
b
a
x
j
f(x)dx para j = 0; 1; . . . ; n.
- 94 - PRELIMINAR Curso 008
Anlisis Numrico I 5. Mejor aproximacin y ajuste de funciones
Qu es lo hemos obtenido? Nuevamente, como en la aproximacin de puntos discretos,
un sistema de ecuaciones lineales de dimensin n+1n+1. Sin embargo, no todo es tan sencillo.
Analicemos un poco ms en detalle la integral que afecta a los coecientes a
k
. Tenemos que:
_
b
a
x
k+j
dx =
x
k+j+1
k +j + 1

b
a

_
b
a
x
k+j
dx =
b
k+j+1
a
k+j+1
k +j + 1
Si denimos que a = 0 y b = 1, entonces la integral denida resulta en el coeciente:
1
k +j + 1
La matriz que se genera a partir del coeciente anterior es conocida como matriz de
Hilbert, que es una matriz mal condicionada. Como en el caso anterior de ajuste discreto, al
tener una matriz mal condicionada, el sistema es muy sensible a los cambios en los datos, o
modicaciones de la matriz de coecientes, es decir, es muy sensible a los errores inherentes.
Un segundo problema, en este caso operativo, es que si por algn motivo se desea agregar
un trmino ms al polinomio, hay que recalcular el sistema (agregar una columna y una la), lo
que signica mucho trabajo adicional. Y nada asegura que los nuevos resultados estn exentos
de errores. De todos modos, contamos con mtodo muy potente para ajustar funciones pero con
inconvientes operativos en el planteo numrico. Podemos buscar la forma de mejorarlo. Veamos
como.
Cul sera la mejor matriz de coecientes para resolver un sistema de ecuaciones lineales?
Evidentemente, aquella que independice cada incgnita de las otras. O sea, que la matriz de
coecientes sea una matriz diagonal. Supongamos modicar levemente la expresin del polinomio
de aproximacin por la siguiente:
P(x) =
n

k=0
a
k

k
(x),
En principio, no hemos hecho sino un cambio de notacin, llamando a x
k
como
k
(x).
Veamos qu ventajas nos trae esto. Por lo pronto, ahora disponemos de ms posibilidades porque
el mtodo no cambia si proponemos una suma de funciones en vez de un polinomio como funcin
de aproximacin, tal como vimos para ajuste de curvas. Entonces nos queda:
n

k=0
a
k
_
b
a

k
(x)
j
(x)dx =
_
b
a

j
f(x)dx para j = 0; 1; . . . ; n.
que conceptualmente es muy parecido a lo anterior. Pero con una diferencia: ahora podemos tomar
cualquier funcin para denir nuestras funciones
k
(x) y por lo tanto, tambin nuestros
j
(x).
Busquemos entonces que nuestra matriz de coecientes se convierta en una matriz diagonal. Y
cmo lo logramos? Sencillamente estableciendo que se cumpla lo siguiente:
_
b
a

k
(x)
j
(x)dx =
_
0 si k ,= j
M > 0 si k = j
,
donde M es un valor cualquiera. Por supuesto, lo ideal sera que M = 1. Esta condicin que
deben cumplir las
k
(x) asegura que las funciones sean ortogonales. En consecuencia, nuestra
matriz de coecientes ser diagonal.
No hemos dicho nada an acerca de las funciones
k
(x). Como estamos tratando de
aproximar una funcin cualquiera, una buena idea es proponer que esas funciones sean tambin
polinomios. Para hallar estos polinomios ortogonales entre s, debemos agregar una segunda
condicin que es agregar una funcin de peso. Esta funcin de peso tiene por objeto asignar
Curso 008 PRELIMINAR - 95 -
5.2. Ajuste de funciones Anlisis Numrico I
diferentes grados de importancia a las aproximaciones de ciertas partes del intervalo. En esta
situacin tenemos:
E (a
0
; a
1
; . . . , a
n
)
a
j
= 0

a
j
_
_
_
_
b
a
w(x)
_
f(x)
n

k=0
a
k

k
(x)
_
2
dx
_
_
_
= 0,
con lo cual nalmente nos queda:
_
b
a
w(x)
_
f(x)
n

k=0
a
k

k
_

j
dx = 0.
En este caso se debe cumplir que:
_
b
a
w(x)
k
(x)
j
(x)dx =
_
0 si k ,= j
M ,= 0 si k = j
.
Si denimos que w(x) = 1, volvemos a tener nuestra expresin original para los
k
(x)
y los
j
(x). Y si, adems, el intervalo de interpolacin lo jamos en [1, 1], el resultado es que
mediante este procedimiento obtenemos los polinomios de Legendre. Estos polinomios los
usaremos ms adelante para integrar numricamente.
5.2.3. Polinomios de Legendre
Veremos cmo se calculan los polinomios de Legendre. Antes, debemos recordar cmo
se obtena un conjunto de vectores ortogonales a partir de un conjunto no ortogonal. Esto se
consegua mediante el proceso de Gram-Schmidt. Adaptmoslo para el caso de funciones. Primero,
debemos proponer las dos primeras funciones (x). Estas funciones son:

0
(x) = 1;
1
(x) = x B
1

1
(x) = (x B
1
)
0
(x).
donde B
1
es nuestra incgnita. Para obtenerla debemos plantear que:
_
b
a
w(x)
0
(x)
1
(x) dx = 0
_
b
a
w(x)
0
(x)
0
(x) (x B
1
) dx = 0.
Distribuyendo en el parntesis, obtenemos:
_
b
a
w(x)[
0
(x)]
2
x dx B
1
_
b
a
w(x)[
0
(x)]
2
dx = 0
y entonces B
1
se puede hallar con:
B
1
=
_
b
a
w(x)[
0
(x)]
2
x dx
_
b
a
w(x)[
0
(x)]
2
dx
.
Para los siguientes polinomios, es decir, cuando k 2, debemos proponer que:

k
(x) = (x B
k
)
k1
(x) C
k

k2
(x) en [a; b].
Operando algebraicamente en forma similar a la anterior obtenemos los coecientes B
k
y C
k
:
B
k
=
_
b
a
x w(x)[
k1
(x)]
2
dx
_
b
a
w(x)[
k1
(x)]
2
dx
C
k
=
_
b
a
x w(x)
k1
(x)
k2
(x) dx
_
b
a
w(x)[
k2
(x)]
2
dx
- 96 - PRELIMINAR Curso 008
Anlisis Numrico I 5. Mejor aproximacin y ajuste de funciones
Como hemos dicho, la funcin de peso en el caso de los polinomios de Legendre es w(x) = 1 y el
intervalo [1; 1], por lo que las expresiones quedan como sigue:
1. El coeciente B
1
se obtiene con:
B
1
=
_
1
1
x dx
_
1
1
dx
;
2. Los coecientes B
k
se obtienen con la expresin
B
k
=
_
1
1
x [
k1
(x)]
2
dx
_
1
1
[
k1
(x)]
2
dx
;
3. Y, nalmente, los coecientes C
k
se obtienen con:
C
k
=
_
1
1
x
k1
(x)
k2
(x) dx
_
1
1
[
k2
(x)]
2
dx
.
Existe un segundo conjunto de polinomios ortogonales muy utilizados que son los poli-
nomios de Chebishev. Tambin se generan aplicando las expresiones generales ya vistas, pero con
una funcin de peso (w(x)) diferente: w(x) =
1

1x
2
.
5.3. Notas nales
Tanto la aproximacin discreta de curvas como el ajueste de funciones tienen un amplio
uso en la ingeniera. En el primer caso, existen muchas expresiones matemticas resultantes de
aproximar valores obtenidos experimentalmente en laboratorios o mediante mediciones realizadas
sobre prototipos. En la ingeniera hidrulica se tienen muchas expresiones empricas que surgen
de experiencias en laboratorio que luego resultan en frmulas matemticas obtenidas mediante
aproximaciones discretas.
Con el ajuste de funciones ocurre algo similar. El ejemplo ms interesante es el uso de
polinomios de Legendre en la cuadratura de Gauss para integrar numricamente. Estos poli-
nomios ajustan cualquier tipo de funciones y en particular, a cualquier polinomio, lo que facilita
obtener soluciones numricas exactas de cualquier integral numrica que incluya funciones
polinmicas, como se ver en el captulo siguiente.
Curso 008 PRELIMINAR - 97 -
5.3. Notas nales Anlisis Numrico I
- 98 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Captulo 6
Diferenciacin e integracin numrica
6.1. Diferenciacin numrica
Como dijimos en la introduccin del captulo 2, trabajar en forma simblica resulta
bastante complicado cuando se requiere el uso de computadoras, an cuando existen programas
que lo hagan (en parte). No siempre la soluciones analticas son aplicables al problema que se est
tratando de resolver, y peor an, en muchos casos no hay tal solucin anlitica, como veremos
ms adelante.
Por otro lado, muchas veces tampoco se cuenta con las herramientas para trabajar en
forma simblica (analtica). Cuando slo se cuenta con datos obtenidos de mediciones o de
clculos previos, y no de funciones, no tiene sentido trabajar en forma simblica. Obtener la
derivada de una funcin contando nicamente con datos discretos no tiene sentido.
Al mismo tiempo, muchos programas de aplicacin ingenieril no pueden almacenar o
guardar en sus lneas de cdigo una base de datos que incluya las derivadas de cualquier funcin
(lo mismo se aplica al caso inverso, la integracin). La cantidad de informacin y la aleatoriedad
que puede presentar una exigencia de este tipo vuelve impractible realizar esto en cada programa,
adems de llevar a construir interfaces amigables, que contribuyen a aumentar los requerimientos
de memoria, tanto de operacin como de almacenamiento.
Veremos a continuacin como encarar la diferenciacin en forma numrica con ayuda de
varios ejemplos, analizando las ventajas y las desventajas de cada mtodo empleado en la dis-
cretizacin para luego analizar la extrapolacin de Richardson, mtodo que puede usarse tambin
para otros casos.
6.1.1. Diferencias progresivas, regresivas y centradas
La diferenciacin es un tema muy conocido por los estudiantes de ingeniera. Los primeros
aos de la carrera consisten en estudiar en detalle cmo caracterizar y conocer a fondo una
funcin dada, de manera que para analizar si tiene mximos o mnimos, si es convexa o cncava,
si puede aproximarse mediante un desarrollo en serie, lo primero que se aprende es el concepto
de derivada, tanto total como parcial. Tomemos, por ejemplo, la funcin
f(x) = seno
_
2
b
x
_
.
Hallar la derivada primera de f(x) respecto de x es un procedimiento sencillo pues resulta
ser
f

(x) =
d f(x)
dx
=
_
2
b
_
cos
_
2
b
x
_
.
Curso 008 PRELIMINAR - 99 -
6.1. Diferenciacin numrica Anlisis Numrico I
Si queremos conocer la derivada en el punto x =
b
6
entonces basta con reemplazar ese
valor en la expresin anterior y tendremos
f

_
b
6
_
=
_
2
b
_
cos
_
2
b
b
6
_
=
_
2
b
_
cos
_

3
_
Si nalmente le damos un valor a b, (b = 6), el valor de nuestra derivada en x =
b
6
= 1
ser
f

(1) =
_

3
_
cos
_

3
_
=

6
0, 5236
Supongamos ahora que queremos obtener ese mismo valor pero no recordamos cmo
hallar la derivada en forma analtica. Aplicando el concepto del cual se deduce, podemos decir
que
f

(x)
f(x + x) f(x)
x
que tambin suele escribirse como:
f

(x)
f(x +h) f(x)
h
Para hallar la derivada en nuestro punto x =
b
6
con b = 6 adoptemos el valor h = 0, 1.
As tendremos que
f

(1)
f(1, 1) f(1)
0, 1
=
seno
_
2
6
1, 1
_
seno
_

3
_
0, 1
f

(1)
0, 9135 0, 8660
0, 1
= 0, 4750
Podemos ver que nuestra aproximacin es razonable pero no muy buena, y que el error
cometido es del orden del 10 %. Como no estamos conformes con el resultado obtenido, pro-
ponemos otro algoritmo para hallar el valor buscado. Este algoritmo es
f

(x)
f(x) f(x x)
x
o, como tambin suele escribirse
f

(x)
f(x) f(x h)
h
Hallemos ahora el valor de la derivada utilizando este nuevo algoritmo. El resultados es
f

(1)
f(1) f(0, 9)
0, 1
=
seno
_

3
_
seno
_
2
6
0, 9
_
0, 1
f

(1)
0, 8660 0, 8090
0, 1
= 0, 5700
De nuevo, el valor obtenido no es una aproximacin muy buena, siendo el error cometido
del orden del 8 %. Una vez ms, tampoco estamos demasiado conformes con el resultado que nos
arroj este algoritmo y proponemos este otro
f

(x)
f(x + x) f(x x)
2x
o tambin:
f

(x)
f(x +h) f(x h)
2h
- 100 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Reemplazando los valores, tendremos:
f

(1)
f(1, 1) f(0, 9)
0, 2
=
seno
_
2
6
1, 1
_
seno
_
2
6
0, 9
_
0, 2
f

(1)
0, 9135 0, 8090
0, 2
= 0, 5225
Evidentemente, el valor de la derivada en el punto pedido es bastante aproximado al
considerado real o exacto. Podemos notar que el error cometido es del orden del 0,2 %. Cada
una de estas aproximaciones son equivalentes a efectuar una interpolacin aplicando el mtodo de
Lagrange y luego derivar el polinomio hallado. Como se tienen dos puntos, el polinomio resultante
es una recta. En la gura 1 se pueden ver las aproximaciones de la pendiente.
Figura 6.1: Pendiente segn cada aproximacin.
Hagamos una mejora escribindolo como:
f

(x)
f(x +
h
2
) f(x
h
2
)
h
buscando mejorar la aproximacin del resultado buscado. Reemplazando tendremos:
f

(1)
f(1, 05) f(0, 95)
0, 1
=
seno
_
2
6
1, 05
_
seno
_
2
6
(0, 95)

0, 1
f

(1)
0, 8910 0, 8387
0, 1
= 0, 5230
El resultado es una mejor aproximacin pero no se nota una gran diferencia con respecto
al anterior, puesto que el error cometido es del orden de 0,1 %. Pero sin lugar a dudas, este ltimo
algoritmo es mucho mejor.
Esta forma de aproximar la derivada en un punto se conoce como aproximacin por
diferencias, y se pueden clasicar segn tres tipos:
1. Diferencias progresivas: cuando la derivada en un punto se aproxima segn la expresin
vista en primer trmino, o sea:
f

(x) =
f(x +h) f(x)
h
;
Curso 008 PRELIMINAR - 101 -
6.1. Diferenciacin numrica Anlisis Numrico I
2. Diferencias regresivas: cuando la derivada en punto se aproxima segn la expresin vista
en segundo trmino, o sea:
f

(x) =
f(x) f(x h)
h
, y
3. Diferencias centradas: cuando la derivada en un punto se aproxima segn la expresin
vista en ltimo trmino, o sea:
f

(x) =
f(x +h) f(x h)
2h
.
Este ltimo esquema es el que mejor aproxima.
Analizaremos ahora el por qu de esta mejora. Empecemos por el esquema de diferencias
progresivas. Si desarrollamos por Taylor la funcin f(x +h), tendremos que
f(x +h) = f(x) +f

(x)
h
1!
+f

(x)
h
2
2!
+f

(x)
h
3
3!
+. . . ;
de la cual podemos despejar f

(x), que es
f

(x)h = f(x +h) f(x) f

(x)
h
2
2!
f

(x)
h
3
3!
. . . ;
f

(x) =
f(x +h) f(x)
h
f

(x)
h
2!
f

(x)
h
2
3!
. . . .
Si nuestro h es sucientemente pequeo, entonces los h
n
para n 2 se pueden despreciar.
Finalmente tendremos que
f

(x) =
f(x +h) f(x)
h
f

()
h
2!
=
f(x +h) f(x)
h
+O(h);
con [x; x +h]. En este caso, nuestra aproximacin tiene un orden de convergencia O(h).
Si repitamos el proceso para el esquema de diferencias regresivas, tendremos que
f(x h) = f(x) f

(x)
h
1!
+f

(x)
h
2
2!
f

(x)
h
3
3!
+. . . .
Como en el caso anterior, la expresin nal ser
f

(x) =
f(x) f(x h)
h
+f

()
h
2!
=
f(x) f(x h)
h
+O(h).
Al igual que en lo visto anteriormente, el orden de convergencia es O(h).
Finalmente, hagamos lo mismo para el esquema de diferencias centradas. En este caso
tendremos que
f(x +h) = f(x) +f

(x)
h
1!
+f

(x)
h
2
2!
+f

(x)
h
3
3!
+. . . ;
f(x h) = f(x) f

(x)
h
1!
+f

(x)
h
2
2!
f

(x)
h
3
3!
+. . . .
Si hacemos f(x +h) f(x h) nos queda
f(x +h) f(x h) = 2f

(x)
h
1!
+ 2f

(x)
h
3
3!
+. . . .
Si despejamos f

(x) de esta expresin, nos queda


f

(x) =
f(x +h) f(x h)
2h
f

()
h
2
3!
=
f(x +h) f(x h)
2h
+O(h
2
),
- 102 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
esta vez con [x h; x +h].
Notemos que en este caso la convergencia es O(h
2
), razn por la cual la aproximacin es
mucho mejor respecto de los esquemas anteriores. Entonces es conveniente armar un esquema de
diferencias centradas para aproximar una derivada en un punto dado. Adems tiene otra ventaja.
Como el error es proporcional a la tercera derivada, podemos obtener resultados muy precisos
(exactos) para un polinomio de grado menor o igual a 2.
Al mismo tiempo, el hecho de que el orden de convergencia sea O(h
2
) nos permite inferir
que si hacemos el paso (h) cada vez ms chico, deberamos tener un resultado con una mejor
aproximacin. Hagamos esto, y con la misma precisin del ejemplo anterior, calculemos de nuevo
la derivada en el punto x = 1 con un nuevo paso, h = 0, 01, para cada esquema.
1. Diferencias progresivas: f

(1) =
seno(

3
1,01)seno(

3
)
0,01
=
0,87120,8660
0,01
= 0, 5200
2. Diferencias regresivas: f

(1) =
seno(

3
)seno(

3
0,99)
0,01
=
0,86600,8607
0,01
= 0, 5300
3. Diferencias centradas: f

(1) =
seno(

3
1,01)seno(

3
0,99)
0,02
=
0,87120,8607
0,02
= 0, 5250
Al achicar el paso utilizado para reducir el error cometido podemos notar dos cosas. La
primera es que para los esquemas progresivos y regresivos el resultado obtenido es ms aproxi-
mado que en el caso anterior con un paso diez veces ms grande, mientras que para el esquema
centrado, el resultado no fue mejor. La segunda es que hemos perdido precisin, principalmente
en el esquema con diferencias centradas. La pregunta es: por qu? En todo caso, habremos
hecho algo mal?
En realidad no hemos hecho nada incorrecto. Sucede que no hemos tomado en cuenta la
incidencia del error de redondeo en nuestro algoritmo, es decir, el hecho de trabajar solamente
con cuatro dgitos al representar los resultados intermedios. Supusimos que achicar el paso inme-
diatamente nos mejoraba nuestra aproximacin. Pero hemos visto que la aproximacin depende
tambin de la precisin usada en los clculos, es decir, de la representacin numrica, que como
vimos, est asociada al error de redondeo.
El problema es que a medida que el paso h es cada vez ms chico, lo mismo pasa con la
operacin f(x+h) f(x) o sus equivalentes. Esa diferencia se vuelve muy chica y es posible que
nuestra unidad de mquina no pueda representarla correctamente. En consecuencia, debemos
encontrar o desarrollar otro mtodo para mejorar la aproximacin del resultado buscado.
6.1.2. Aproximacin por polinomios de Taylor
Propongamos el siguientes esquema, que se basa en tomar los intervalos x 2h y x h,
y el desarrollo por Taylor para cada caso:
f(x + 2h) = f(x) +f

(x)
2h
1!
+f

(x)
4h
2
2!
+f

(x)
8h
3
3!
+f
iv
(x)
16h
4
4!
+f
v
(x)
32h
5
5!
+. . . ;
f(x +h) = f(x) +f

(x)
h
1!
+f

(x)
h
2
2!
+f

(x)
h
3
3!
+f
iv
(x)
h
4
4!
+f
v
(x)
h
5
5!
+. . . ;
f(x h) = f(x) f

(x)
h
1!
+f

(x)
h
2
2!
f

(x)
h
3
3!
+f
iv
(x)
h
4
4!
f
v
(x)
h
5
5!
+. . . ;
f(x 2h) = f(x) f

(x)
2h
1!
+f

(x)
4h
2
2!
f

(x)
8h
3
3!
+f
iv
(x)
16h
4
4!
f
v
(x)
32h
5
5!
+. . . .
Primero hagamos f(x+2h) f/x2h) y f(x+h) f(xh), con las cual obtendremos
las siguientes igualdades:
f(x + 2h) f(x 2h) = 4f

(x)
h
1!
+ 16f

(x)
h
3
3!
+ 64f
v
(x)
h
5
5!
+. . . ;
f(x +h) f(x h) = 2f

(x)
h
1!
+ 2f

(x)
h
3
3!
+ 2f
v
(x)
h
5
5!
+. . . .
Curso 008 PRELIMINAR - 103 -
6.1. Diferenciacin numrica Anlisis Numrico I
Si queremos mejorar la precisin de nuestros esquemas anteriores para calcular f

(x),
anulemos el trmino con h
3
. Para ello, hagamos [f(x+2h)f(x2h)] 8[f(x+h)f(xh)].
As, nos queda la siguiente igualdad:
f(x + 2h) f(x 2h) 8f(x +h) + 8f(x h) = 12f

(x)h + 48f
v
(x)
h
5
5!
+. . . .
De esta ltima expresin podemos despejar f

(x), que resulta ser:


f

(x) =
f(x 2h) 8f(x h) + 8f(x +h) f(x + 2h)
12h
+ 4f
v
(x)
h
4
5!
+. . . ;
y si truncamos en h
4
, nos queda:
f

(x) =
f(x 2h) 8f(x h) + 8f(x +h) f(x + 2h)
12h
+ 4f
v
()
h
4
5!
.
con [x 2h; x + 2h] y un orden de convergencia O(h
4
). Con esta ltima expresin podemos
decir que una aproximacin de la primera derivada en un punto esta dada por:
f

(x)
f(x 2h) 8f(x h) + 8f(x +h) f(x + 2h)
12h
.
Ahora, apliquemos este nuevo esquema centrado para calculas la derivada buscada, con
la misma representacin numrica utilizada en los casos anteriores. Tomemos el paso h = 0, 1
con el que obtendremos:
f

(x = 1) =
seno
_

3
0, 8
_
8 seno
_

3
0, 9
_
+ 8 seno
_

3
1, 1
_
seno
_

3
1, 2
_
12 h
f

(x = 1) =
0, 7431 6, 4721 + 7, 3084 0, 9511
12 0, 1
=
0, 6283
1, 2
= 0, 5236
El resultado obtenido es sorprendente, pues para esa representacin numrica, se lo puede
considerar exacto! Bast que ampliramos el intervalo de clculo, es decir, los puntos que usa-
mos para armar lo que se denomina una malla (en ingls mesh), para que la aproximacin sea
excelente. Este algoritmo se conoce como el mtodo de los cinco puntos y tiene un orden de
convergencia proporcional a la derivada quinta, lo que lo vuelve muy preciso. La nica desven-
taja es que requiere operar con cinco puntos y esa malla deber densicarse cada vez que la
representacin numrica sea ms precisa, cuidando siempre de evitar que el paso sea muy chico,
por el riesgo de que no pueda representarse correctamente el numerador. Veremos ms adelante
que este tipo de mallas son muy tiles para resolver ecuaciones diferenciales y/o sistemas de
ecuaciones diferenciales.
En la gura 6.2 se puede la aproximacin obtenida utilizando la aproximacin por poli-
nomios de Taylor.
Pero nuestro inters, por ahora, es calcular en forma numrica el valor de la derivada en
un punto dado con la mejor aproximacin posible. Existir otra forma de obtener ese valor con
un grado de aproximacin similar al obtenido con el esquema anterior usando un solo punto?
6.1.3. Extrapolacin de Richardson
Vimos en el punto anterior que para calcular una derivada en un punto y obtener la
mejor aproximacin, debemos trabajar con el esquema centrado y con un paso h pequeo, an
cuando esto trae aparejado una inestabilidad de los resultados. Tal como vimos al analizar la
aproximacin por polinomios de Taylor, nuestra aproximacin de la derivada se puede expresar
como:
M = N(h) +E(h),
- 104 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Figura 6.2: Aproximacin por polinomios de Taylor.
donde M es el valor buscado, N(h), la aproximacin de M, E(h), el error cometido y h, el paso.
Supongamos que podemos expresar nuestra E(h) de la siguiente forma:
E(h) = K
1
h +K
2
h
2
+K
3
h
3
+. . . .
Anlogamente al caso anterior, para un h
1
el valor buscado se podr expresar como
(I) M = N
1
(h
1
) +K
1
h
1
+K
2
h
2
1
+K
3
h
3
1
+. . . .
Hagamos lo mismo pero para un h
2
tal que q =
h
1
h
2
. Entonces tendremos:
(II) M = N
1
(h
2
) +K
1
h
2
+K
2
h
2
2
+K
3
h
3
2
+. . . .
Como h
1
= qh
2
podemos escribir (I) como:
(III) M = N
1
(h
1
) +K
1
qh
2
+K
2
(qh
2
)
2
+K
3
(qh
2
)
3
+. . . .
Para mejorar el orden de aproximacin de nuestro resultado, anulemos el trmino lineal de h, es
decir, multipliquemos por q a (II) y luego restmosle (III):
qM M = qN
1
(h
2
) N
1
(h
1
) +qK
1
(h
2
h
2
) +qK
2
_
h
2
2
qh
2
2
_
+qK
3
_
h
3
2
q
2
h
3
2
_
+. . .
qM M = qN
1
(h
2
) N
1
(h
1
) +qK
2
_
h
2
2
qh
2
2
_
+qK
3
_
h
3
2
q
2
h
3
2
_
+. . . .
Si despejamos M, tendremos la siguiente expresin:
M =
(q 1)N
1
(h
2
)
q 1
+
N
1
(h
2
) N
1
(h
1
)
q 1

qK
2
h
2
2
(q 1)
q 1

qK
3
h
3
2
_
q
2
1
_
q 1
+. . .
en la que podemos expresar M como:
M = N
1
(h
2
) +
N
1
(h
2
) N
1
(h
1
)
q 1
. .
N
2
(h
1
)
qK
2
h
2
2
q (q + 1) K
3
h
3
2
+. . .
Generalizando, nos queda que:
M = N
2
(h) K

2
h
2
K

3
h
3
+. . .
Curso 008 PRELIMINAR - 105 -
6.1. Diferenciacin numrica Anlisis Numrico I
Si repetimos el proceso otra vez tomando nuevamente h
1
y h
2
, entonces tenemos:
(IV) M = N
2
(h
1
) +K

2
h
2
1
+K

3
h
3
1
+. . . .
(V) M = N
1
(h
2
) +K

2
h
2
2
+K

3
h
3
2
+. . . .
Como nuevamente se cumple que q =
h
1
h
2
, podemos reescribir (IV) como:
(VI) M = N
2
(h
1
) +K

2
(qh
2
)
2
+K

3
(qh
2
)
3
+. . . .
Anlogamente al caso anterior, mejoramos nuestra aproximacin anulando en este caso
el trmino cuadrtico de h, multiplicando por q
2
a (V) para luego restarle (VI):
q
2
M M = q
2
N
2
(h
2
) N
2
(h
1
) q
2
K
2
_
h
2
2
h
2
2
_
+q
2
K

3
h
3
2
(q 1) +. . .
q
2
M M = q
2
N
2
(h
2
) N
2
(h
1
) +q
2
K

3
h
3
2
(q 1) +. . .
De la misma forma que para el caso anterior, obtenemos una nueva aproximacin para
M
M =
(q
2
1)N
2
(h
2
)
q
2
1
+
N
2
(h
2
) N
2
(h
1
)
q
2
1
+
q
2
K

3
h
3
2
(q 1)
q
2
1
+. . .
M = N
2
(h
2
) +
N
2
(h
2
) N
2
(h
1
)
q
2
1
. .
N
3
(h
1
)
+
q
2
K

3
h
3
2
q + 1
+. . . .
Una segunda forma de escribir esto ltimo en funcin de h
1
es
M = N
2
_
h
1
q
_
+
N
2
_
h
1
q
_
N
2
(h
1
)
q
2
1
. .
N
3
(h
1
)
+
q
2
K

3
_
h
1
q
_
3
q + 1
+. . . .
Finalmente, podemos generalizar el mtodo de aproximacin de la siguiente forma:
N
j
(h) = N
j1
_
h
q
_
+
N
j1
_
h
q
_
N
j1
(h)
q
j1
1
.
Este mtodo o algoritmo para mejorar una aproximacin se conoce como Extrapolacin de
Richardson. Veremos ms adelante una aplicacin de este mismo mtodo asociado a la inte-
gracin numrica.
Un caso particular muy usado es cuando q = 2, cuya expresin general se dene como:
N
j
(h) = N
j1
_
h
2
_
+
N
j1
_
h
2
_
N
j1
(h)
2
j1
1
.
Este algoritmo permite aproximar una derivada numrica con poco esfuerzo y teniendo en cuenta
la inestabilidad del algoritmo porque no requiere dividir por nmeros excesivamente pequeos.
Apliquemos este mtodo al ejemplo inicial y calculemos la derivada de f(x) = seno
_

3
x
_
en x = 1 con el algoritmo de diferencias progresivas.
Armemos una tabla para aplicar el algoritmo anterior de modo de visualizar fcilmente
cada uno de los pasos. En primer lugar, vamos denir que la primera aproximacin, es decir, N
1
(h)
sea la derivada calculada numricamente con h, que ocupar la primera columna. Usaremos la
expresin:
f

(x)
f(x +h) f(x)
h
=
seno
_

3
(x +h)

seno
_

3
x

h
.
- 106 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Las dems columnas sern N
2
(h), N
3
(h) y N
4
(h). En segundo lugar, tomaremos varios
valores de h, por lo tanto tendremos varias las con diferentes aproximaciones de la derivada
buscada. Para cada caso calcularemos las aproximaciones con la frmula de la Extrapolacin de
Richardson:
N
j
(h) = N
j1
_
h
2
_
+
N
j1
_
h
2
_
N
j1
(h)
2
j1
1
.
En la tabla 6.1 podemos los resultados obtenidos al aplicar la extrapolacin de Richardson
a nuestro ejemplo.
Tabla 6.1: Extrapolacin de Richardson
h
i
y

i
= N
1,i
N
2,i
N
3,i
N
4,i
0,2 0,4250
0,1 0,4750 0,5250
0,05 0,5000 0,5250 0,5250
0,025 0,5120 0,5240 0,5237 0,5235
Figura 6.3: Aproximacin con N
1
.
Analicemos rpidamente los resultados obtenidos. La primera columna contiene los re-
sultados de aproximar la derivada con varios h diferentes. Vemos que a pesar de utilizar un h
relativamente pequeo (h = 0, 025) nuestra aproximacin inicial no es muy buena.
La segunda columna es nuestra primera aplicacin de la extrapolacin de Richardson,
usando los valores de la primera columna. A primera vista se puede observar que la aproxi-
macin es muy superior a la anterior. Algo similar ocurre en la tercera. Finalmente, en la cuarta,
la aproximacin nal resulta ser casi el valor exacto para una representacin de cuatro (4) dec-
imales. Y si comparamos con la aproximacin para h = 0, 025, ltima la de la primera columna,
vemos que es muy superior. Si quisiramos obtener una aproximacin similar, deberamos traba-
jar con ms decimales, puesto que para h = 0, 01 el valor de f

(1) es 0,5200, que si bien tiene dos


decimales correcto, es menos preciso que el hallado con Richardson, que resulta ser casi correcto
hasta el cuarto decimal.
En las guras 6.3, 6.4 y 6.5 se pueden ver algunas de las aproximaciones de la pendiente
en el punto dado en cada paso.
Curso 008 PRELIMINAR - 107 -
6.1. Diferenciacin numrica Anlisis Numrico I
Figura 6.4: Aproximacin con N
2
.
Figura 6.5: Aproximacin con N
3
.
Si bien aplicamos este mtodo para obtener una derivada numrica, puede aplicarse para
cualquier caso que cumpla la condicin:
M = N(h) +K
1
h +K
2
h
2
+K
3
h
3
+. . . .
como es el caso de la interpolacin polinomial.
6.1.4. Notas nales
Es evidente que la diferenciacin numrica es inestable o, dicho de otro modo, es muy
dependiente de la precisin utilizada. Anar el paso h en un algoritmo dado puede conducir
a resultados de menor precisin o, en trminos numricos, inservibles; en consecuencia, no es
conveniente reducir el paso h suponiendo que eso mejora la aproximacin buscada.
Los distintos mtodos vistos en los puntos anteriores indican que es preferible mejorar el
algoritmo o desarrollar uno nuevo, antes que anar el paso de clculo. Ms an, es mucho ms
efectivo aplicar el mtodo de extrapolacin de Richardson a un algoritmo conocido y sencillo
- 108 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
que desarrollar uno nuevo. En todo caso, la segunda opcin sera utilizar los polinomios de
Taylor o alguna aproximacin polinomial que utilice la informacin disponible (puntos adyacentes
o aledaos). Si bien esta aproximacin puede ser laboriosa, queda ampliamente justicada al
disminuir la incidencia del error de redondeo en los clculos, sobre todo al no tener que dividir
por un nmero muy pequeo.
Los desarrollos vistos para el caso de aproximar una primera derivada pueden extrapolarse
para derivadas de orden superior. Un ejemplo de ello es la aproximacin centrada de la segunda
derivada en un punto dado, cuya expresin es:
f

(x) =
f (x h) 2f (x) +f (x +h)
h
2
.
que se obtiene de considerar los polinomios de Taylor para x h y x +h:
f (x +h) = f (x) +f

(x)
h
1!
+f

(x)
h
2
2!
+f

(x)
h
3
3!
+. . . ;
f (x h) = f (x) f

(x)
h
1!
+f

(x)
h
2
2!
f

(x)
h
3
3!
+. . . .
Sumando ambas expresiones se obtiene:
f(x +h) +f(x h) = 2f(x) +f

(x)h
2
+f
iv
(x)
h
4
12
+. . . ;
f

(x) =
f(x h) 2f(x) +f(x +h)
h
2
f
iv
[]
h
2
12
,
con [x h; x +h).
Observemos que el error cometido al calcular la derivada segunda con la expresin dada
es proporcional a h
2
y a f
iv
(), es decir, similar al caso de la expresin centrada para la primera
derivada. Podemos asegurar que en el caso de polinomios de grado 3 o inferior, o que no exista
la derivada cuarta, la derivada segunda obtenida en forma numrica, es exacta.
Mediante razonamientos anlogos o similares pueden obtenerse algoritmos para calcular
derivadas numricas de orden superior.
6.2. Integracin numrica
Como en el caso de la diferenciacin numrica, la integracin numrica tiene la misma
dicultad de trabajar con mtodos simblicos. Existen muchos programas de aplicacin en la
ingeniera que dependen de obtener integrales denidas. Como es prcticamente imposible agregar
una base de datos que incluya las primitivas de cualquier funcin, la nica manera de calcular
estas integrales es mediante mtodos numricos. Un ejemplo en este sentido es la utilizacin
del mtodo de los elementos nitos en el anlisis estructural, que calcula la matriz de rigidez
mediante la integracin numrica.
Veremos a continuacin varios mtodos numricos para calcular integrales denidas, anal-
izando ventajas y desventajas de cada uno de ellos.
6.2.1. Frmulas de Newton-Cotes
Antes de desarrollar las distintas frmulas o mtodos para obtener una integral denida
en forma numrica, daremos algunas deniciones.
Denicin 6.1. Dada una funcin f(x) denida en [a; b], se denomina cuadratura numrica de
la integral I(f) =
_
b
a
f(x)dx a una frmula tal que:
Q
n
(f) =
n

i=1
c
i
f (x
i
) ;
Curso 008 PRELIMINAR - 109 -
6.2. Integracin numrica Anlisis Numrico I
con c
i
' y x
i
[a; b]. Los puntos x
i
se denominan puntos de cuadratura (o races) y los
valores c
i
, coecientes de cuadratura o de peso. Asimismo, se dene el error de la cuadratura
como E
n
(f) = I(f) Q
n
(f).
Denicin 6.2. Una cuadratura numrica tiene grado de precisin m si E
n
(x
k
) = 0 para
k = 0; 1; . . . ; m y E
n
_
x
m+1
_
,= 0.
Observacin 6.2.1. Si una cuadratura numrica tiene grado de precisin m, entonces E
n
(p
k
) =
0 para todo polinimio p
k
(x) de grado menor o igual a m (k m).
Denicin 6.3. Se denomina frmula cerrada de Newton-Cotes a toda cuadratura numrica
cuyos nodos incluya a los extremos del intervalo.
Denicin 6.4. Se denomina frmula abierta de Newton-Cotes a toda cuadratura numrica
cuyos nodos no incluya a los extremos del intervalo.
6.2.2. Frmulas cerradas de Newton-Cotes
Frmulas simples
Supongamos que tenemos la siguiente funcin (o curva) y queremos hallar el rea bajo
la misma en el intervalo [a; b], como se ve en la gura 6.6.
Figura 6.6: rea bajo la curva.
Para empezar, podemos hacer dos aproximaciones muy groseras como se puede apreciar
en las guras 6.7(a) y 6.7(b):
En la aproximacin de la gura 6.7(a), vemos que el rea obtenida es mucho menor que el
rea buscada. En cambio, en la 6.7(b), podramos suponer que la aproximacin obtenida del rea
es similar o mayor. Podemos ver que si el rea en color claro se compensa con el rea en color
oscuro excedente, entonces estaramos obteniendo una buena aproximacin. Si esto no fuera as,
entonces obtendramos una rea por defecto (la parte oscura es menor que la parte clara) o por
exceso (la parte oscura es mayor a la parte clara).
Estas dos aroximaciones se pueden expresar matemticamente como:
Q
n
(f) = f(a)(b a);
para el caso (a) y,
Q
n
(f) = f(b)(b a);
para el caso (b).
Otra forma de aproximar el rea es la siguiente:
- 110 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
(a) Por defecto (b) Por exceso
Figura 6.7: Aproximacin por rectngulos.
Figura 6.8: Aproximacin por trapecios.
En este caso particular, no parece que esta aproximacin sea mejor, puesto que hay un
rea excedente en color claro. La expresin matemtica para este ltimo caso es:
Q
n
(f) =
f(b) +f(a)
2
(b a).
Vamos a generalizar estas tres expresiones. Denamos h = b a, y escribamos cada una
de las expresiones de la siguiente forma:
Aproximacin por rectngulos (defecto): Q
n
(f) = h f(a);
Aproximacin por rectngulos (exceso): Q
n
(f) = h f(b);
Aproximacin por trapecio: Q
n
(f) =
h
2
[f(a) +f(b)].
Para saber si nuestras aproximaciones son buenas, estimemos el error que cometemos
en cada una. Primeramente, analicemos cualquiera de los dos mtodos que aproximan por un
rectngulo. Si desarrollamos f(x) respecto del punto a mediante una serie de Taylor, tenemos
que
f(x) = f(a) +f

(a)(x a) +f

(a)
(x a)
2
2
+. . . .
Para obtener la integral basta con integrar la serie tambin. Entonces tenemos
_
b
a
f(x)dx =
_
b
a
f(a)dx +
_
b
a
f

(a)(x a)dx +
_
b
a
f

(a)
(x a)
2
2
dx +. . . .
Curso 008 PRELIMINAR - 111 -
6.2. Integracin numrica Anlisis Numrico I
Si integramos y truncamos en el trmino de la derivada primera, nos queda
_
b
a
f(x)dx = f(a)(b a) +f

()
(b a)
2
2
,
con [a; b]. Como h = b a tenemos que
_
b
a
f(x)dx = f(a)h +f

()
h
2
2
,
es decir, nuestra expresin tiene un error proporcional a la derivada primera y su orden de
convergencia es O(h). Para el caso de usar f(b) el error es anlogo.
Para analizar el mtodo del trapecio, usemos una interpolacin entre el punto a y b usando
el polinomio de Lagrange y su error. En este caso tenemos que
f(x) = f(a)
x b
a b
+f(b)
x a
b a
+f

()
(x a)(x b)
2
.
Integremos el polinomio obtenido; as nos queda
_
b
a
f(x)dx =
f(a)
a b
_
b
a
(x b)dx +
f(b)
b a
_
b
a
(x a)dx +f

()
_
b
a
(x a)(x b)
2
dx
=
f(a) +f(b)
2
(b a) +f

()
(b a)
3
12
=
f(a) +f(b)
2
h +f

()
h
3
12
,
nuevamente con [a; b]. Ahora lo que hemos obtenido es un mtodo cuyo error es proporcional
a la derivada segunda, y, en consecuencia, mejoramos nuestra aproximacin. Analicemos ahora
una segunda mejora. Supongamos que podemos calcular la funcin en x =
a+b
2
, es decir, podemos
obtener f
_
a+b
2
_
. En consecuencia, tenemos ahora tres puntos que nos pueden servir para obtener
el rea buscada. Hagamos pasar una curva por esos tres puntos utilizando el polinomio de Taylor
y asumiendo en este caso que h =
ba
2
, como se ve en la gura 6.9. Podemos ver en la gura que
Figura 6.9: Aproximacin por arcos de parbola cuadrtica.
el rea aproximada es mayor que el rea buscada, lo que signica que obtendremos un valor por
exceso.
La aproximacin usando parbolas de segundo grado es la conocida frmula de Simpson,
cuya expresin matemtica es:
Q
n
(f) =
h
3
_
f(a) +f(b) + 4 f
_
a +b
2
__
.
- 112 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Analicemos el error que se comete con esta nueva expresin. Tomemos nuevamente nuestro
desarrollo de Taylor pero a partir del punto x
1
=
a +b
2
y cortemos la expresin en la derivada
cuarta. Entonces nos queda
f(x) = f(x
1
) +f

(x
1
)(x x
1
) +f

(x
1
)
(x x
1
)
2
2
+f

(x
1
)
(x x
1
)
3
6
+f
iv
(
1
)
(x x
1
)
4
24
,
con
1
[a, b].
Si integramos nuevamente nos queda
_
b
a
f(x)dx =
_
b
a
f(x
1
)dx +
_
b
a
f

(x
1
)(x x
1
)dx +
_
b
a
f

(x
1
)
(x x
1
)
2
2
dx +
+
_
b
a
f

(x
1
)
(x x
1
)
3
6
dx +
_
b
a
f
iv
(x
1
)
(x x
1
)
4
24
dx
= f(x
1
)(b a) +f

(x
1
)
(x x
1
)
2
2

b
a
+f

(x
1
)
(x x
1
)
3
6

b
a
+
+f

(x
1
)
(x x
1
)
4
24

b
a
+f
iv
()
(x x
1
)
5
120

b
a
Ahora tomemos que h = b x
1
= x
1
a. Entonces nos queda
_
b
a
f(x)dx = f(x
1
)2h +f

(x
1
)
h
3
3
+f
iv
()
h
5
60
.
Aproximemos la derivada segunda en x
1
mediante una derivada discreta, como la vista
en diferenciacin numrica, cual es:
f

(x
1
) =
f(a) 2f(x
1
) +f(b)
h
2

h
2
12
f
iv
(
2
),
con
2
[a; b].
Al reemplazarla en la frmula de integracin, nos queda
_
b
a
f(x)dx = f(x
1
)2h +
f(a) 2f(x
1
) +f(b)
h
2
h
3
3
f
iv
(
2
)
h
5
36
+f
iv
(
1
)
h
5
60
=
h
3
[f(a) + 4f(x
1
) +f(b)] f
iv
()
h
5
90
=
h
3
_
f(a) + 4f
_
a +b
2
_
+f(b)
_

b a
90
f
iv
()h
4
,
con [a; b]. Usualmente el trmino de error de dene como:
E(h) = M h
4
, con M =
b a
90
f
iv
(),
de ah que el orden de convergencia sea O(h
4
).
Vemos que el error del mtodo de Simpson es proporcional a la derivada cuarta, por lo
tanto, esta expresin nos da una integral exacta para polinomios de grado menor o igual a
tres.
Uniquemos los cuatro casos en un intervalo de integracin. Si tomamos como intervalo
[a; b] el intervalo [1; 1], nos queda para cada mtodo lo siguiente:
Aproximacin por rectngulo (defecto): Q
n
(x) = 2 f(1).
Aproximacin por rectngulo (exceso): Q
n
(x) = 2 f(1).
Curso 008 PRELIMINAR - 113 -
6.2. Integracin numrica Anlisis Numrico I
Aproximacin por trapecios: Q
n
(x) = 1 f(1) + 1 f(1).
Aproximacin por Simpson: Q
n
(x) =
1
3
f(1) +
4
3
f(0) +
1
3
f(1).
Si nos jamos en la denicin de cuadratura podemos ver que hemos denido para cada
caso un valor de c
i
y un valor de x
i
, que son los siguientes:
Aproximacin por rectngulo (defecto): c
1
= 2, x
1
= 1.
Aproximacin por rectngulo (exceso): c
1
= 2, x
1
= 1.
Aproximacin por trapecios: c
1
= c
2
= 1, x
1
= 1, x
2
= 1.
Aproximacin por Simpson: c
1
= c
3
=
1
3
, c
2
=
4
3
, x
1
= 1; x
2
= 0; x
3
= 1;
con lo cual podemos escribirlos segn la forma general denida como cuadratura numrica:
Q
n
(f) =
n

i=1
c
i
f (x
i
) ;
siendo n = 1 para la frmula del rectngulo, n = 2 para la del trapecio y n = 3 para la de
Simpson.
An cuando estas aproximaciones tienen una precisin interesante (sobre todo la lti-
ma), no son lo sucientemente precisas para resolver cualquier problema. Para mejorar nuestra
aproximacin, veremos a continuacin algunas formas de mejorar la precisin de las cuadraturas.
Frmulas compuestas
Supongamos que en lugar de utilizar la frmula del rectngulo con el paso h = b a,
dividimos ese intervalo en intervalos ms chicos. Empecemos por denir un nuevo paso como
h =
ba
2
. Ahora podemos aproximar la integral con dos subintervalos, tanto por defecto como
por exceso, que resultan ser [a; a + h] y [a + h; b], con los cuales se obtienen las siguientes
aproximaciones:
Q
n
(f) = h f(a) +h f(a +h);
o
Q
n
(f) = h f(a +h) +h f(b).
Ambas aproximaciones se pueden ver en las guras 6.10(a) y 6.10(b). La primera es una
aproximacin francamente por defecto, en cambio, en la segunda tenemos una primer intervalo
con una aproximacin por exceso y otro intervalo por defecto; en conjunto podemos inferir que
la aproximacin resulta ser por exceso.
(a) Por defecto (b) Por exceso
Figura 6.10: Aproximacin compuesta por rectngulos.
- 114 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Podemos hacer un desarrolo similar con la frmula del trapecio. Si tomamos el mismo
paso, y por ende, los mismos subintervalos, tendremos:
Q
n
(f) =
h
2
[f(a) +f(a +h)] +
h
2
[f(a +h) +f(b)] =
h
2
[f(a) + 2f(a +h) +f(b)] .
La aproximacin obtenida se puede ver en el gura 6.11, que resulta ser una aproximacin por
defecto.
Figura 6.11: Aproximacin compuesta por trapecios.
Al igual que en los casos anteriores, podemos mejorar la aproximacin de la frmula de
Simpson. Si dividimos nuestro intervalo inicial en dos, de manera de trabajar con dos subinter-
valos y denimos h =
ba
4
, tendremos la nueva aproximacin:
Q
n
(f) =
h
3
[f(a) +f(a + 2h) + 4 f(a +h)] +
h
3
[f(a + 2h) +f(b) + 4 f(a + 3h)] .
Podemos simplicar la expresin para que nos quede una ms general:
Q
n
(f) =
h
3
[f(a) +f(b) + 2 f(a + 2h) + 4 f(a +h)] .
El resultado de aplicar esta frmula, como se puede ver en la gura 6.12, muestra que la aproxi-
macin obtenida es muy precisa, y que el resultado es muy cercano al exacto.
Figura 6.12: Aproximacin compuesta por Simpson.
Veremos, ahora, como podemos generalizar las expresiones de los mtodos para n subin-
tervalos. Si dividimos el intervalo ba en n intervalos tendremos las frmulas cerradas compuestas
de Newton-Cotes, que son las siguientes:
Curso 008 PRELIMINAR - 115 -
6.2. Integracin numrica Anlisis Numrico I
Rectngulos:
Q
n
(f) = h
n1

i=0
f(a +i h),
Q
n
(f) = h
_
n1

i=1
f(a +i h) +f(b)
_
,
con h =
ba
n
;
Trapecios:
Q
n
(f) =
h
2
_
f(a) +f(b) + 2
n1

i=1
f(a +i h)
_
,
tambin con h =
ba
n
; y
Simpson:
Q
n
(f) =
h
3
_
f(a) +f(b) + 2
n1

i=1
f(a + 2i h) + 4
n

i=1
f[a + (2i 1) h]
_
con h =
ba
2n
.
Estas frmulas permiten mejorar la precisin reduciendo el paso h. En particular, en el
caso del mtodo compusto de Simpson, el error se dene como
E(h) =
b a
180
f
iv
()h
4
= M h
4
, con M =
b a
180
f
iv
(),
con [a; b]. Si bien se trata de una mejora en la precisin, la misma no es demasiado signica-
tiva, pues el orden de convergencia sigue siendo O(h
4
).
Sin embargo, esta metodologa tiene una desventaja. A medida que achicamos el paso
aumentamos notablemnte la cantidad de operaciones que se deben realizar, lo que signica ms
tiempo de procesamiento. Esto no siempre es prctico; por ejemplo, dividir el intervalo para
Simpson en 100 subintervalos representa un esfuerzo de clculo que no siempre mejora la precisin
del resultado en el mismo sentido. Puede ocurrir que nuestra representacin numrica nos limite
el tamao del paso h, lo que nos impide anar el paso todo lo necesario. Algo similar puede
ocurrir con las otras frmulas.
Por otro lado, toda vez que querramos anar nuestro clculo reduciendo el paso h, debe-
mos calcular prcticamente todo otra vez, pues salvo los valores de la funcin en los extremos
del intervalo, el resto de los valores no suelen ser tiles (salvo excepciones). Cambiar el paso no
suele tener costo cero. Busquemos, en consecuencia, otra forma para obtener resultados ms
precisos sin tener achicar el paso, incrementar demasiado las cantidad de operaciones a realizar
o repetir todos los clculos.
Mtodo de Romberg
Como primer paso para desarrollar un mtodo ms eciente que mejore nuestros resulta-
dos, analicemos el error que se comete al aplicar cualquiera de las frmulas de cuadratura vistas
en los puntos anteriores. En forma general, la aproximacin se puede expresar de la siguiente
forma:
- 116 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
I(f) =
_
b
a
f(x)dx =
_
b
a
n

i=1
f(x
i
)L
i
(x)dx +
_
b
a
f
(n)
[(x)]
n!
n

i=1
(x x
i
)dx
=
n

i=1
c
i
f(x
i
)
. .
Q
n
(f)
+
1
n!
_
b
a
f
(n)
[(x)]
n

i=1
(x x
i
)dx;
como vimos al principio, el error est dado por:
E
n
(f) = I(f) Q
n
(f) =
1
n!
_
b
a
f
(n)
[(x)]
n

i=1
(x x
i
)dx.
Para cada uno de los mtodos tenemos:
Rectngulos: E
1
(f) =
ba
2
f

() h.
Trapecios: E
2
(f) =
ba
12
f

()h
2
.
Simpson: E
3
(f) =
ba
90
f
iv
()h
4
.
Podemos notar que las aproximaciones mediante cualquiera de las frmulas vistas se
pueden expresar como:
M = N(h) +K
1
h +K
2
h
2
+K
3
h
3
+. . . ;
lo que nos permite aplicar el mtodo de extrapolacin de Richardson, visto para diferenciacin
numrica. La adaptacin de este mtodo a la integracin se conoce como mtodo de Romberg.
Para explicarlo, aplicaremos la extrapolacin de Richardson al mtodo compuesto de los trapecios.
Recordemos la frmula del mismo:
Q
n
(f) =
h
2
_
f(a) +f(b) + 2
n1

i=1
f(a +i h)
_
;
y de acuerdo con lo visto, se puede denir que:
I(f) =
h
2
_
f(a) +f(b) + 2
n1

i=1
f(a +i h)
_

b a
12
h
2
f

();
con a < < b y h =
ba
n
.
A partir de esto vamos a desarrollalo. En primer lugar, vamos a obtener todas las aprox-
imaciones para m
1
= 1, m
2
= 2, m
3
= 4, . . . , m
n
= 2
n1
, con n positivo. En consecuencia,
tendremos un h
k
para cada valor de m
k
que estar denido por h
k
=
ba
m
k
=
ba
2
k1
. De esta forma
podemos expresar la regla del trapecio como:
I(f) =
h
k
2
_
_
f(a) +f(b) + 2
2
k1
1

i=1
f(a +i h
k
)
_
_

b a
12
h
2
k
f

(
k
).
Vamos a denir ahora que:
R
k,1
(h
k
) =
h
k
2
_
_
f(a) +f(b) + 2
2
k1
1

i=1
f(a +i h
k
)
_
_
;
Curso 008 PRELIMINAR - 117 -
6.2. Integracin numrica Anlisis Numrico I
y con esta nueva frmula vamos a obtener los distintos R
k,1
. En efecto, para k = 1 tenemos que
R
1,1
=
h
1
2
[f(a) +f(b)] =
b a
2
[f(a) +f(b)] ,
con h
1
= b a. Para el caso de k = 2 tenemos que
R
2,1
=
h
2
2
[f(a) +f(b) + 2f(a +h
2
)]
=
b a
4
_
f(a) +f(b) + 2f
_
a +
b a
2
__
=
1
2
_
b a
2
(f(a) +f(b))
. .
R
1,1
+
h
1
..
b a
,2
,2f(a +h
2
)
_
=
1
2
[R
1,1
+h
1
f(a +h
2
)] ,
con h
2
=
b a
2
. Anlogamente, para k = 3, h
3
=
b a
4
y, entonces
R
3,1
=
h
3
2
_
f(a) +f(b) + 2
_
f(a +h
3
) +f(a + 2h
3
..
h
2
) +f(a + 3h
3
)

_
=
b a
8
f(a) +f(b) + 2f(a +h
2
) + 2 [f(a +h
3
) +f(a + 3h
3
)]
=
1
2
R
2,1
+h
2
[f(a +h
3
) +f(a + 3h
3
)] .
Si generalizamos para todos los k, tenemos que
R
k,1
=
1
2
_
_
_
R
k1;1
+h
k1
2
k2

i=1
f[a + (2i 1)h
k
]
_
_
_
.
Cada uno de estos R
k,1
son aproximaciones de nuestro valor buscado. Para renar estos
resultados podemos aplicar, ahora s, la extrapolacin de Richardson con q = 4. Por lo tanto
tendremos que:
R
k,2
= R
k,1
+
R
k,1
R
k1;1
4
1
1
;
con k = 2; 3; . . . ; n. Si generalizamos, obtenemos la siguiente expresin:
R
k,j
= R
k,j1
+
R
k,j1
R
k1;j1
4
j1
1
;
con k = 2; 3; . . . ; n y j = 2; 3; . . . ; k. Al aplicar este mtodo, generamos una tabla como la 6.2,
donde cada R
k,j
es una mejor aproximacin del resultado, siendo la mejor el R
n,n
.
La ventaja de este mtodo es que permite calcular una nueva la con solo hacer una
aplicacin de la frmula compuesta del trapecio y luego usar los valores ya calculados para
obtener el resto de los valores de las dems columnas de esa nueva la; no requiere recalcular
todo.
Una cuestin a tener en cuenta al aplicar este mtodo, es que supone que la frmula
compuesta del trapecio permite la aplicacin de la extrapolacin de Richardson, esto es, se debe
cumplir que f(x) C
2(k+1)
[a, b]; si esto no se cumple, no tiene sentido seguir anando el resultado
hasta la iteracin k. Si generalizamos, es evidente que una funcin f(x) que cumpla con tener
innitas derivadas continuas en el intervalo [a; b], es una funcin a la cual resulta muy conveniente
aplicarle el mtodo de Romberg.
- 118 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
Tabla 6.2: Mtodo de Romberg
R
1,i
R
2,i
R
3,i
. . . R
n,i
R
1,1
R
2,1
R
2,2
R
3,1
R
3,2
R
3,3
.
.
.
.
.
.
.
.
.
.
.
.
R
n,1
R
n,2
R
n,3
. . . R
n,n
6.2.3. Frmulas abiertas de Newton-Cotes
En los puntos anteriores hemos visto las frmulas cerradas para integrar numricamente.
Existen tambin frmulas abiertas de Newton-Cotes. La ms conocida es la del punto medio.
Supongamos que tomamos la frmula del rectngulo pero en lugar de aproximar el rea con
los extremos, tomamos el punto medio del intervalo, es decir, c =
a+b
2
. En ese caso nuestra
aproximacin del rea buscada estra dada por:
Q
n
(f) = (b a
. .
h
) f(c) = h f(c).
La aproximacin efectuada con esta frmula se puede ver en la gura 6.13.
Figura 6.13: Frmula del punto medio.
Al igual que en los casos anteriores, se puede desarrollar una frmula compuesta, similar
a la frmula compuesta del rectngulo pero tomando los puntos medios de los subintervalos.
Sin embargo, la idea principal de las frmulas abiertas no est relacionada con tomar
puntos de un intervalo segn un paso uniforme sino en determinar los puntos para efectuar
la integracin eligindolos de una manera inteligente. Qu signica inteligente? Analicemos
brevemente la frmula del punto medio. Al elegir dicho punto y no los extremos del intervalo,
suponemos que el rectngulo que queda formado aproxima mejor la integral buscada. Si dividimos
este intervalo en varios subintervalos ms pequeos, tendremos la frmula compuesta. As y todo,
estamos algo limitados.
Podramos avanzar en la idea y desarrollar una frmula similar para el mtodo de Simp-
son, es decir, crear una curva que no pase por los extremos y nos permita obtener una buena
aproximacin. Pero de todas maneras tenemos la misma limitante: debemos trabajar con puntos
Curso 008 PRELIMINAR - 119 -
6.2. Integracin numrica Anlisis Numrico I
equidistantes
1
. Esto puede llevar a que debamos utilizar las frmulas compuestas con muchos
trminos para alcanzar aproximaciones razonables. Veamos en el punto siguiente un mtodo
de integracin que explota la idea de las frmulas abiertas de Newton-Cotes eligiendo puntos
inteligentemente.
6.2.4. Cuadratura de Gauss
Recordemos la frmula para una cuadratura:
Q
n
(f) =
n

i=1
c
i
f (x
i
) .
Supongamos ahora que elegimos una curva que pase por ciertos puntos y que aproxime
la integral de la funcin dada, usando la frmula de cuadratura. Una curva de ese tipo se ve en
la gura 6.14.
Figura 6.14: Cuadratura usando una curva de aproximacin.
Elegiremos como puntos crticos aquellos en los que la funcin se intersecta con la curva
de aproximacin. Estos sern nuestros puntos inteligentes. El problema es elegir la curva ms
conveniente. Por ejemplo, en la gura 6.14 se eligi una parbola, por lo tanto, se tienen dos
puntos que se intersectan con la funcin. Podramos haber utilizado una recta, una parbola
cbica, etc.
Supongamos ahora que denimos un intervalo jo de integracin, por ejemplo, el [1, 1].
Debemos determinar para ese intervalo los puntos x
i
y los coecientes c
i
para nuestra frmula
de cuadratura, esto es, debemos denir los puntos x
1
; x
2
; . . . ; x
n
y los coefcientes c
1
; c
2
; . . . ; c
n
.
En consecuencia, tenemos 2n incgnitas que debemos obtener. Si recordamos que un polinomio
de grado 2n 1 tiene 2n coecientes (por ejemplo, un polinomio de tercer grado tiene la forma
a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
), podramos decir que hallar esos parmetros para nuestra frmula de
cuadratura es equivalente a obtener los coecientes de ese polinomio de grado 2n 1.
Gauss deni estos polinomios que permiten aproximar la integral en el intervalo [1; 1]
dependiendo de la cantidad de puntos que se deseen utilizar. Estos polinomios son ortogonales y
1
Recordemos que la base de la integracin numrica es la interpolacin polinmica, que se vuelve inestable
cuando los puntos usados estn separados uno de otro en forma equidistante.
- 120 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
conocidos como polinomios de Legendre, y son los siguientes:
P
0
(x) = 1 P
1
(x) = x
P
2
(x) =
1
2
(3x
2
1) P
3
(x) =
1
2
(5x
3
3x)
P
k
(x) =
1
2
k
k!
d
k
dx
k
(x
2
1)
k
.
Calculando la raz de cada polinomio se obtienen los puntos x
i
y con estos puntos, los coecientes
c
i
. En la tabla 6.3 se dan algunos los valores de las races y los coecientes, de acuerdo con la
cantidad de puntos que se utilicen para aproximar la integral.
Tabla 6.3: Races y coecientes de la cuadratura de Gauss-Legendre
n x
i
c
i
1 x
1
= 0.0000000000 c
1
= 2.0000000000
2 x
1
=
1

3
= 0.5773502692 c
1
= 1.0000000000
x
2
=
1

3
= 0.5773502692 c
2
= 1.0000000000
3 x
1
= 0.7745966692 c
1
= 0.5555555556
x
2
= 0.0000000000 c
2
= 0.8888888889
x
3
= 0.7745966692 c
3
= 0.5555555556
4 x
1
= 0.8611363116 c
1
= 0.3478548451
x
2
= 0.3399810436 c
2
= 0.6521451549
x
3
= 0.3399810436 c
3
= 0.6521451549
x
4
= 0.8611363116 c
4
= 0.3478548451
5 x
1
= 0.9061798459 c
1
= 0.2369268850
x
2
= 0.5384693101 c
2
= 0.4786286705
x
3
= 0.0000000000 c
3
= 0.5688888889
x
4
= 0.5384693101 c
4
= 0.4786286705
x
5
= 0.9061798459 c
5
= 0.2369268850
Este mtodo es muy til cuando lo que queremos aproximar son integrales de funciones
polinmicas, puesto que los resultados son exactos cuando g 2n1. Si el intervalo de integracin
no es [1; 1], basta con hacer un cambio de coordenadas. Por ejemplo, si se tiene la siguiente
integral:
I(f) =
_
b
a
f(x) dx
debemos hacer la siguiente transformacin lineal para poder aproximar con cuadratura de Gauss:
x =
b a
2
t +
b +a
2
; I(f) =
b a
2
_
1
1
f(t) dt.
El error cometido al aplicar la cuadratura de Gauss en el intervalo [1; 1] est dado por
E =
2
2n+1
(n!)
4
(2n + 1)[(2n)!]
2
f
2n
(),
donde n es el nmero de puntos utilizados y [1, 1]. Si ampliamos el mtodo al intervalo
[a; b], tenemos que el error est dado por
E =
(b a)
2n+1
(n!)
4
(2n + 1)[(2n)!]
2
f
2n
(),
Curso 008 PRELIMINAR - 121 -
6.2. Integracin numrica Anlisis Numrico I
con
o
in[a, b]. Vemos que en ambos casos el error cometido es proporcional a la derivada de
orden 2n. Por ejemplo, si n = 2 entonces el error cometido es proporcional a la derivada cuarta
(f
iv
()), pues tenemos
E =
(b a)
22+1
(2!)
4
(2 2 + 1)[(2 2)!]
2
f
22
() =
(b a)
5
(2!)
4
5(4!)
2
f
iv
().
Al igual que para los mtodos anteriores, podemos pensar en un mtodo compuesto para
Gauss. Efectivamente, si dividimos el intervalo [a; b] en subintervalos ms pequeos, podemos
utilizar la cuadratura de Gauss en esos subintervalos, con la correspondiente transformacin
lineal, e inclusive usar un aproximacin con n no mayor a 3, con excelentes resultados.
6.2.5. Integrales mltiples
Al igual que para el caso de integrales simples, podemos calcular en forma numrica
integrales mltiples, en dos o tres dimensiones. Tomemos la siguiente integral:
__
A
f(x; y)dA,
donde A es una regim rectangular en el plano tal que
A = (x; y)[a x b; c y d.
Entonces, podemos escribir la integral de arriba como
_
d
c
__
b
a
f(x; y)dx
_
dy.
Integremos respecto a x usando el mtodo del trapecio. De esta manera obtendremos
_
b
a
f(x; y)dx
b a
2
[f(a; y) +f(b; y)] .
Reemplacemos esta expresin en la integral doble y hagamos lo mismo pero respecto a y.
Entonces nos queda que
_
d
c
__
b
a
f(x; y)dx
_
dy
_
d
c
b a
2
[f(a; y) +f(b; y)] dy

b a
2
_
d
c
[f(a; y) +f(b; y)] dy

b a
2
__
d
c
f(a; y)dy +
_
d
c
f(b; y)dy
_
Si aplicamos a cada integral la regla del trapecio, nos queda
_
d
c
f(a; y)dy
d c
2
[f(a; c) +f(a; d)]
_
d
c
f(b; y)dy
d c
2
[f(b; c) +f(b; d)] .
Al reemplazar estas dos expresiones en la general nos queda que
_
d
c
_
b
a
f(x; y) dx dy
(b a)(d c)
4
[f(a; c) +f(a; d) +f(b; c) +f(b; d)] .
- 122 - PRELIMINAR Curso 008
Anlisis Numrico I 6. Diferenciacin e integracin numrica
En denitiva, podemos obtener una aproximacin de una integral mltiple, en este caso
doble, mediante la aplicacin del mtodo del trapecio en dos dimensiones. Tambin aplicando
el mtodo de Simpson podemos obtener una aproximacin de dicha integral. En este caso, la
expresin es
_
d
c
_
b
a
f(x; y) dx dy
h
x
h
y
9
_
f(a; c) +f(a; d) +f(b; c) +f(b; d) +
+4
_
f
_
a;
c +d
2
_
+f
_
b;
c +d
2
_
+f
_
a +b
2
; c
_
+f
_
a +b
2
; d
__
+
+16
_
f
_
a +b
2
;
c +d
2
___
,
donde h
x
=
ba
2
y h
y
=
dc
2
. Si reemplazamos esto ltimo en la expresin general y adems
denimos x
0
= a, x
1
=
a+b
2
,x
2
= b, y
0
= c, y
1
=
c+d
2
e y
2
= d, tenemos que
_
d
c
_
b
a
f(x; y) dx dy
(b a)(d c)
36
f(x
0
; y
0
) +f(x
0
; y
2
) +f(x
2
; y
0
) +f(x
2
; y
2
) +
+4 [f(x
0
; y
1
) +f(x
1
; y
0
) +f(x
1
; y
2
) +f(x
2
; y
1
) + 4f(x
1
; y
1
)].
El error cometido por aproximar la integral mediante esta frmula est dado por:
E
T
=
(b a)(d c)
12
_
h
2
x

2
f(

; )
x
2
+h
2
y

2
f(

; )
y
2
_
(Mtodo del trapecio),
E
S
=
(b a)(d c)
90
_
h
4
x

4
f(

; )
x
4
+h
4
y

4
f(

; )
y
4
_
(Mtodo de Simpson),
que, como podemos observar, son muy parecidos a los vistos para el caso de integrales simples.
Estos mtodos tambin se pueden modicar para obtener las frmulas compuestas, simi-
lares a las vistas anteriormente. (Para ms detalles, vase [1].)
As como hemos aplicado los mtodos de trapecio y de Simpson, lo mismo podemos hacer
con la cuadratura de Gauss. Si aplicamos el mismo razonamiento para integrar segn x tendremos
que
_
b
a
f(x; y) dx
b a
2
n

i=1
c
i
f(x
i
; y).
Si hacemos lo mismo respecto de y, obtendremos
_
d
c
_
b
a
f(x; y) dx dy
_
d
c
b a
2
n

i=1
c
i
f(x
i
; y) dy

b a
2
n

i=1
_
d
c
c
i
f(x
i
; y) dy

b a
2
n

i=1
d c
2
m

j=1
c
i
c
j
f(x
i
; y
j
)

b a
2
d c
2
n

i=1
m

j=1
c
i
c
j
f(x
i
; y
j
)

(b a)(d c)
4
n

i=1
m

j=1
c
i
c
j
f(x
i
; y
j
),
Curso 008 PRELIMINAR - 123 -
6.3. Notas nales Anlisis Numrico I
con
x
i
=
b a
2
t
i
+
b +a
2
y
j
=
d c
2
t
j
+
d +c
2
,
donde t
i
y t
j
son las races de los polinomios de Legendre, y c
i
y c
j
, los coecientes de peso.
Por ejemplo, si tomamos n = m = 2 tenemos que t
1
=
1

3
, t
2
=
1

3
y c
1
= c
2
= 1, y la
aproximacin nos queda como
_
d
c
_
b
a
f(x; y) dx dy
(b a)(d c)
4
[f(x
1
; y
1
) +f(x
1
; y
2
) +f(x
2
; y
1
) +f(x
2
; y
2
)] .
con
x
1
=
b a
2
1

3
+
b +a
2
x
2
=
b a
2
1

3
+
b +a
2
,
y
y
1
=
d c
2
1

3
+
d +c
2
y
2
=
d c
2
1

3
+
d +c
2
.
Podemos ver que con este mtodo solamente tenemos que evaluar la funcin a integrar
en cuatro puntos, en cambio, con el mtodo de Simpson debemos evaluar la misma funcin en
nueve puntos. Este mtodo es muy utilizado por el Mtodo de los Elementos Finitos para obtener
integrales dobles.
6.3. Notas nales
La integracin numrica es uno de los mtodos numricos ms utilizados en la ingeniera
y en la ciencia en general. Inclusive, muchos programas para computadoras hacen usos de los
algoritmos vistos en este captulo. Por ejemplo, el MatLab
r
aplica el mtodo de Simpson en su
funcin quad que calcula integrales denidas, en tanto que el Mathcad
r
, aplica por omisin el
mtodo de Romberg.
- 124 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
Captulo 7
Ecuaciones diferenciales ordinarias
7.1. Ecuaciones diferenciales ordinarias con valores iniciales
7.1.1. Introduccin
Muchos de los problemas que debemos resolver como ingenieros se pueden representar
mediante ecuaciones diferenciales ordinarias. Recordemos que las ecuaciones diferenciales ordi-
narias son aquellas ques estn expresadas en derivadas totales. As, buena parte de los mtodos
que empleamos para atacar un determinado problema resultan ser soluciones analticas de
ecuaciones diferenciales que se aplican en forma metdica y que se han obtenido a partir de
ciertas condiciones de borde, en este caso, condiciones iniciales.
Con todo, existen muchos casos para los cuales estas soluciones no son aplicables, por
cuanto las condiciones de borde dieren de las empleadas para hallar esas soluciones. Es en esos
casos cuando los mtodos numricos se convierten en la nica herramienta para obtener algn
tipo de solucin aproximada que nos permita resolver el problema.
Como ejemplos de diversas ecuaciones diferenciales con valores iniciales que suelen apli-
carse en la ciencia y la tecnologa tenemos:
Dinmica de poblaciones. El economista ingls Thomas Malthus propuso el siguiente
modelo matemtico para denir el crecimiento demogrco:
dP
dt
= kP;
con k > 0, es decir, que la tasa de crecimiento de la poblacin es proporcional a la poblacin
total. (Este modelo en realidad no es muy preciso, pues deja de lado otros factores como la
inmigracin, por ejemplo, pero en su momento daba una buena aproximacin al problema
demogrco.)
Desintegracin radiactiva. El siguiente modelo matemtico es el que se aplica para el
estudio de la desintegracin radiactiva:
dA
dt
= kA;
en este caso, con k < 0. Este modelo es la base del mtodo de datacin por Carbono 14,
usado en muchas disciplinas cientcas.
Ley de Newton del enfriamiento o calentamiento. Isaac Newton propuso la siguiente
ley matemtica para el cambio de temperatura:
dT
dt
= k(T T
m
);
con k < 0, donde T
m
es la temperatura del medio, y T la del objeto analizado.
Curso 008 PRELIMINAR - 125 -
7.1. Ecuaciones diferenciales ordinarias con valores iniciales Anlisis Numrico I
Ley de Torricceli. El drenado de un tanque cumple con el siguiente modelo:
dV
dt
= A
h
_
2gh.
Si denimos V = A
w
h, entonces la expresin anterior se puede escribir como
dh
dt
=
A
h
A
w
_
2gh.
La mayora de los libros toma el caso del pndulo como el ejemplo tradicional de las
ecuaciones diferenciales ordinarias con valores iniciales. El modelo matemtico que representa
este fenmeno est dado por:
d
2

dt
2
=
g
L
sen(),
donde g es la aceleracin de la gravedad, L, la longitud del pndulo, y , el ngulo del pndulo
respecto de la vertical. Este ejemplo suele linealizarse para el caso de ngulos muy pequeos,
pues se cumple que sen() = tan() = , y la ecuacin diferencial queda
d
2

dt
2
=
g
L
.
Un ejemplo de la ingeniera civil es la ecuacin del esfuerzo normal en una barra, que se
dene como
dN
dx
= t(x);
donde t(x) es una carga uniformemente distribuida en el eje de la barra.
En lo que sigue veremos, primero, las condiciones para que la solucin de una ecuacin
diferencial ordinaria tenga solucin nica, y en segundo trmino, varios mtodos para resolver
numricamente este tipo de ecuaciones.
7.1.2. Condicin de Lipschitz
Una ecuacin diferencial ordinaria con valores iniciales est denida de la siguiente mane-
ra:
dy
dt
= f(t, y) con a t b e y(a) = y
0
.
Una funcin f(t, y) D '
2
, con D convexo, cumple con la condicin de Lipschitz si
satisface que
[f(t, y
1
) f(t, y
2
)[ L[y
1
y
2
[ ,
o

f(t, y)
y

L,
para todo (t, y) D.
Para que una ecuacin diferencial tenga solucin nica se debe satisfacer el siguiente
teorema.
Teorema 7.1. Sea f(t, y) continua en D, tal que D = (t, y)[a t b; y +. Si
f(t, y) satisface la condicin de Lipschitz en D en la variable y, entonces el problema de valor
inicial
dy
dt
= f(t, y) con a t b e y(a) = y
0
tiene solucin nica y(t) para a t b.
- 126 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
7.1.3. Problema bien planteado
Un problema de valor inicial del tipo
dy
dt
= f(t, y) con a t b e y(a) = y
0
se dice bien planteado si:
El problema tiene solucin nica (cumple con la condicin de Lipschitz);
Para cualquier > 0, existe una constante positiva k() con la propiedad de que siempre
que [
0
[ < y (t) es continua, con (t) < en [a; b], el problema tiene solucin nica z(t),
es decir,
dz
dt
= f(t, z) +(t) con a t b e z(a) = y
0
+
0
,
con
[z(t) y(t)[ < k() ,
para toda a t b.
En denitiva, un problema est bien planteado si una perturbacin del problema origi-
nal no cambia la esencia del mismo. El siguiente teorema dene la condicin de problema bien
planteado.
Teorema 7.2. Sea D = (t, y)[a t b; y +. Si f(t, y) es continua y satisface la
condicin de Lipschitz en la variable y en el conjunto D, entonces el problema de valor inicial
dy
dt
= f(t, y) con a t b e y(a) = y
0
se dice bien planteado.
7.1.4. Mtodos de Euler
Hemos visto las condiciones que debe cumplir el problema de una ecuacin diferencial con
valores iniciales para tener solucin nica. Veamos ahor ael primer mtodo para resolver dicho
problema.
Partamos de la formulacin del problema
dy
dt
= f(t, y).
Si desarrollamos por Taylor la funcin y(t) en un entorno [t; t +h] tendremos
y(t +h) = y(t) +y

(t) h +y

(t)
h
2
2
+. . . .
Como y

(t) = f(t, y) podemos modicar la expresin anterior para escribirla de la siguiente


forma:
y(t +h) = y(t) +f(t, y) h +y

(t)
h
2
2
+. . . .
Dado que nuestro entorno de la solucin est dado por [a; b], denamos el paso h como h =
b a
N
,
donde N es el nmero de intervalos. Con esto podemos denir que t
i+1
= t
i
+ h y que t
0
= a y
t
N
= b. Con esto podemos escribir que
y(t
i+1
) = y(t
i
) +h f[t
i
; y(t
i
)] +y

(t)
h
2
2
+. . . .
Curso 008 PRELIMINAR - 127 -
7.1. Ecuaciones diferenciales ordinarias con valores iniciales Anlisis Numrico I
Si ahora nos limitamos a la segunda derivada, nos queda
y(t
i+1
) = y(t
i
) +h f[t
i
; y(t
i
)] +y

(
i
)
h
2
2
,
con
i
[t
i
; t
i+1
].
Puesto que lo que buscamos es una aproximacin de y(t
i
), deninamos esta aproximacin
como w
i
y(t
i
). Entonces nuestra expresin nos queda como
w
i+1
= w
i
+h f(t
i
; w
i
),
para i = 0; 1; . . . ; N 1. Este mtodo se conoce como mtodo de Euler explcito.
Supongamos ahora que desarrollamos y(t) en t
i
+h para obtener y(t
i
). Entonces tendremos
que
y(t
i
) = y(t
i
+h) y

(t
i
+h) h +y

(t
i
+h)
h
2
2
+. . . ;
y, como y

(t
i
+h) = f[t
i
+h; y(t
i
+h)], nos queda que
y(t
i
) = y(t
i
+h) f[t
i
+h; y(t
i
+h)] h +y

(t
i
+h)
h
2
2
+. . . .
Nuevamente, como t
i+1
= t
i
+h, y despejando y(t
i+1
) limitando otra vez la expresin a la segunda
derivada, tenemos que
y(t
i+1
) = y(t
i
) +h f[t
i+1
; y(t
i+1
)] y

(
i
)
h
2
2
,
con
i
[t
i
; t
i+1
].
En forma anloga, lo que en realidad buscamos es una aproximacin de y(t
i+1
), por lo
tanto tendremos la siguiente expresin:
w
i+1
= w
i
+h f(t
i+1
; w
i+1
),
para i = 0; 1; . . . ; N 1. Este mtodo se conoce como mtodo de Euler implcito.
Cul es la diferencia entre ambos mtodos? Bsicamente que el mtodo explcito de
Euler utiliza la pendiente en t
i
para obtener el nuevo punto w
i+1
, en tanto que el mtodo
implcito utiliza la pendiente en el punto t
i+1
para obtener el nuevo punto w
i+1
. Es por eso
que el mtodo de Euler implcito suele dar mejores resultados que el explcito. La desventaja
del mtodo implcito es que para que funcione o sea fcil implementarlo, requiere trabajar la
expresin para transformarla en una explcita, es decir que no aparezca w
i+1
en ambos lados de la
igualdad. Esto no siempre es posible y en consecuencia, la implementacin del mtodo implcito
no siempre es sencilla. En estos casos, el mtodo suele complementarse con algn mtodo para
obtener races de ecuaciones, generalmente el mtodo de las aproximaciones sucesivas, pues ya
se tiene la funcin g(t) que haga convergente la sucesin.
Pero existe otra forma de resolver esta situacin. Supongamos que planteamos el siguiente
sistema:
w

i+1
= w
i
+h f(t
i
; w
i
)
w
i+1
= w
i
+h f(t
i
; w

i+1
),
es decir, obtenemos una primera aproximacin de w
i+1
con el mtodo explcito, que llamaremos
w

i+1
, que luego usaremos para obtener una nueva aproximacin de w
i+1
, que corrige la anterior.
Este mtodo se conoce como mtodo predictor-corrector de Euler
1
.
1
Este mtodo no suele estar incluir en los libros de texto, posiblemente porque no mejora la aproximacin de
una manera signicativa.
- 128 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
Si bien los mtodos de Euler son bastante sencillos de implementar, los resultados que
se obtienen no son buenas aproximaciones de nuestro problema. De ah que, a pesar de que son
sencillos de implementar, generalmente no son aplicados. Se los usa solamente como introduccin
a los mtodos numricos y para el anlisis del error.
En efecto, para analizar el error, consideremos estos dos lemas:
1. Para toda x 1 y para cualquier m positiva, tenemos que 0 (1 +x)
m
e
mx
.
2. Si s y t son nmeros reales positivos, a
i

k
i=0
es una sucesin que satisface a
0
t/s, y se
cumple que
a
i+1
(1 +s)a
i
+t, para cada i = 0; 1; 2; . . . ; k,
entonces
a
i+1
e
(i+1)s
_
a
0
+
t
s
_

t
s
.
A partir de estos dos lemas se tiene el siguiente teorema.
Teorema 7.3. Sea f(t, y) continua, que satisface la condicin de Lipschitz con la constante L
en
D = (t, y)[a t b; y +,
y existe una constante M, tal que [y

(t)[ M para toda t [a; b]. Si y(t) es la solucin nica


del problema de valor inicial dado por
dy
dt
= f(t, y) con a t b e y(a) = y
0
,
y los w
0
, w
1
, . . . , w
N
son las aproximaciones a nuestra funcin, obtenidas por el mtodo de Euler,
entonces se cumple que
[y(t
i
) w
i
[
M
2L
_
e
L(t
i
a)
1
_
.
La demostracin de este teorema se puede ver [1].
El error que acabamos de analizar es el error global, pues hemos estimado una cota del
error entre el valor real (o exacto) y la aproximacin por un mtodo numrico. Sin embargo, los
mtodos numricos suelen denirse segn el error local, es decir, el error entre dos iteraciones
sucesivas. Este error, en el mtodo de Euler, est dado por:
e
L
=
y(t
i+1
y(t
i
)
h
f[t
i
; y(t
i
)].
Como vimos, el mtodo explcito de Euler se puede obtener a partir de una desarrollo de
Taylor, del cual resulta que
y(t
i+1
) = y(t
i
) +hy

(t
i
) +
h
2
2
y

(t
i
) +. . . = y(t
i
) +hf[t
i
; y(t
i
)] +f

[t
i
; y(t
i
)]
h
2
2
+. . . ;
por lo tanto
y(t
i+1
) y(t
i
)
h
f(t
i
) =
h
2
f

[; y()]
e
L
=
h
2
f

[; y()],
con [t
i
; t
i+1
], lo que muestra que el error local del mtodo de Euler es O(h), es decir, son de
orden 1.
Curso 008 PRELIMINAR - 129 -
7.1. Ecuaciones diferenciales ordinarias con valores iniciales Anlisis Numrico I
7.1.5. Mtodos de Taylor de orden superior
El mtodo de Euler es muy fcil de aplicar pero tambin es muy poco preciso. Podemos
mejorarlo si partimos otra vez del desarrollo por Taylor. Al desarrollar la funcin y(t) en el
intervalo [t
i
; t
i+1
] con h = t
i+1
t
i
, tenemos que
y(t
i+1
) = y(t
i
) +h y

(t
i
) +
h
2
2!
y

(t
i
) +
h
3
3!
y

(t
i
) +. . . +
h
n
n!
y
(n)
(t
i
).
Como adems tenemos que
d y(t)
dt
= y

(t) = f(t; y), y y(t


i
) = y
i
,
el desarrollo por Taylor lo podemos escribir de la siguiente manera:
y(t
i+1
) = y(t
i
) +h f(t
i
; y
i
) +
h
2
2!
f

(t
i
; y
i
) +
h
3
3!
f

(t
i
; y
i
) +. . . +
h
n
n!
f
(n1)
(t
i
; y
i
),
Es decir, podemos armar un esquema para obtener los y(t
i+1
) a partir de un polinomio de Taylor,
calculando las derivadas totales de la funcin f(t; y). El error que se introduce en este esquema
es el primer trmino que dejamos de considerar, que en nuestro caso es
E =
h
n+1
(n + 1)!
f
(n)
[; y()] con [t
i
; t
i+1
],
y como el error local est dado por
e
L
=
y(t
i+1
) y(t
i
)
h
f[t
i
; y(t
i
)];
para este caso queda denido como
e
L
=
h
n
(n + 1)!
f
(n)
[; y()],
con [t
i
; t
i+1
]. Estos mtodos se conocen como mtodos de Taylor de orden superior, pues
podemos denir el orden de convergencia igual a n, siempre que al menos f(t; y) C
n1
[a; b].
Podemos ver que el mtodo de Euler es un caso particular del mtodo de Taylor para n = 1.
Tambin podramos armar mtodos de Taylor de orden superior implcitos, aunque de
escasa utilidad, dado que deberamos transformar algebraicamente el algoritmo para obtener una
formulacin explcita.
7.1.6. Mtodos de Runge-Kutta
Los mtodos de Taylor resultan muy instructivos para entender cmo mejorar nuestras
aproximaciones, pero muy poco prcticos al momento de implementar un algoritmo de clculo.
El principal escollo para esto es la necesidad de calcular las derivadas de y(t) (o de f(t, y)),
algo que no siempre es fcil de hacer. Eso obligara en muchos casos a programar algoritmos
particulares segn el problema que enfrentemos, lo que le quita generalidad.
Un segundo problema est relacionado directamente con la facilidad para obtener las
derivadas de la funcin f(t; y). An cuando se pueda probar que f(t, y) C
n1
[a; b], puede
ser muy complicado obtener las derivadas de mayor orden, perdindose la capacidad de obtener
rpidamente una aproximacin de la solucin buscada.
Es por eso que existen otros mtodos para aproximar la solucin de una ecuacin diferen-
cial que consiguen rdenes de convergencia similares a los de Taylor pero que no requieren la
obtencin de las derivadas de la funcin f(t; y). Son los denominados mtodos de Runge-Kutta.
Para poder construir los mtodos de Runge-Kutta, nos basaremos en el siguiente teorema.
- 130 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
Teorema 7.4. Sea f(t; y) C
n+1
D con D = (t; y)[a t b, c y d, y sea (t
0
; y
0
) D.
Entonces, para toda (t; y) D, existe [t
0
; t] y [y
0
; y] con
f(t; y) = P
n
(t; y) +R
n
(t; y),
tal que
P
n
(t; y) = f(t
0
; y
0
) +
_
(t t
0
)
f(t
0
; y
0
)
t
+ (y y
0
)
f(t
0
; y
0
)
y
_
+
+
_
(t t
0
)
2
2!

2
f(t
0
; y
0
)
t
2
+ (t t
0
)(y y
0
)

2
f(t
0
; y
0
)
t y
+
+
(y y
0
)
2
2!

2
f(t
0
; y
0
)
y
2
_
+. . . +
+
_
_
1
n!
n

j=0
_
n
j
_
(t t
0
)
nj
(y y
0
)
j

n
f(t
0
; y
0
)
t
nj
y
j
_
_
,
y
R
n
(t, y) =
1
(n + 1)!
n+1

j=0
_
n + 1
j
_
(t t
0
)
n+1j
(y y
0
)
j

n+1
f(; )
t
n+1j
y
j
.
A la funcin P
n
(t; y) se la denomina polinomio de Taylor de grado n en dos variables
para la funcin f(t; y) alrededor de (t
0
; y
0
), en tanto que R
n
(t; y) es el residuo o error asociado
a P
n
(t; y).
Esto es necesario pues los mtodos de Runge-Kutta se basan en aproximar el polinomio
de Taylor para una variable mediante polinomios de Taylor de dos variables. (Para ms detalles
de cmo se obtiene esta aproximacin, ver [1].)
Existen varios mtodos de Runge-Kutta que se clasican segn del orden de convergencia.
Los ms sencillos son los de orden 2, entre los cuales tenemos:
1. Mtodo del punto medio. Est dado por
w
0
= y
0
w
i+1
= w
i
+h f
_
t
i
+
h
2
; w
i
+
h
2
f
_
t
i
; w
i
_
_
,
para i = 0; 1; 2; . . . ; n 1.
2. Mtodo de Euler modicado. Est dado por
w
0
= y
0
w
i+1
= w
i
+
h
2
_
f(t
i
; w
i
) +f[t
i
+h; w
i
+hf(t
i
; w
i
)]
_
,
para i = 0; 1; 2; . . . ; n 1.
3. Mtodo mplicito ponderado o de Crank-Nicolson. Est dado por
w
0
= y
0
w
i+1
= w
i
+
h
2
_
f
_
t
i
; w
i
_
+f
_
t
i+1
; w
i+1
_
_
,
para i = 0; 1; 2; . . . ; n 1.
Curso 008 PRELIMINAR - 131 -
7.1. Ecuaciones diferenciales ordinarias con valores iniciales Anlisis Numrico I
4. Mtodo de Heun. Est dado por
w
0
= y
0
w
i+1
= w
i
+
h
4
_
f
_
t
i
; w
i
_
+3f
_
t
i
+
2
3
h; w
i
+
2
3
h f(t
i
; w
i
)
_
_
,
para i = 0; 1; 2; . . . ; n 1.
Paralelamente, los mtodos del punto medio y de Crank-Nicolson pueden obtenerse tam-
bin integrando la funcin f(t; y) en el intervalo [t
i
; t
i+1
], aplicando las reglas del rectngulo y
del trapecio respectivamente. As, si partimos de la siguiente expresin
y(t
i+1
) = y(t
i
) +
_
t
i+1
t
i
f(t, y)dt,
y aplicamos la regla del rectngulo para la integral, obtenemos que
y(t
i+1
) = y(t
i
) +h f
_
t
i
+
h
2
; y(t
i
) +
h
2
f
_
t
i
; y(t
i
)
_
_
,
por lo que la aproximacin podemos escribirla como
w
i+1
= w
i
+h f
_
t
i
+
h
2
; w
i
+
h
2
f(t
i
; w
i
)
_
.
De forma anloga, si aplicamos la regla del trapecio tenemos
y(t
i+1
) = y(t
i
) +
h
2
_
f
_
t
i
; y(t
i
)
_
+f
_
t
i+1
; y(t
i+1
)
__
,
y, nuestra aproximacin podemos escribirla como
w
i+1
= w
i
+
h
2
[f(t
i
; w
i
) +f(t
i+1
; w
i+1
)] .
Para obtener mtodos de mayor orden de convergencia, debemos aplicar el teorema 7.4.
Con l se obtiene uno de los mtodos ms usados para resolver ecuaciones diferenciales ordinarias,
el de Runge-Kutta de orden 4, cuya formulacin es la siguiente:
w
0
= y
0
k
1
= hf(t
i
; w
i
)
k
2
= hf
_
t
i
+
h
2
; w
i
+
1
2
k
1
_
k
3
= hf
_
t
i
+
h
2
; w
i
+
1
2
k
2
_
k
4
= hf
_
t
i
+h; w
i
+k
3
_
w
i+1
= w
i
+
1
6
(k
1
+ 2k
2
+ 2k
3
+k
4
) ,
para i = 0; 1; 2; . . . ; n 1.
El mtodo de Runge-Kutta de orden 4 tiene un error local de truncamiento O(h
4
), siempre
que la funcin y(t) tenga al menos cinco derivadas continuas.
Este mtodo es tan preciso, que programas como el MatLab
r
y el Mathcad
r
tienen
desarrollados distintas funciones que aplican este mtodo. Por ejemplo, Mathcad
r
cuenta con
la funcin rkfixed(y;x
1
;x
2
;npoints;D) que resuelve ecuaciones diferenciales de orden uno
utilizando dicho mtodo, en la cual y es el valor inicial, x
1
y x
2
son los extremos del intervalo,
npoints es la cantidad de intervalos, y entonces h =
x
2
x
1
npoints
, y D es la funcin f(x, y) que
debemos resolver.
- 132 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
7.1.7. Mtodos de paso mltiple
Los mtodos anteriores se basan en obtener los valores siguientes utilizando solamente el
valor anterior, sin tener en cuenta los dems valores ya calculados. Es por eso que se denominan
de paso simple. Pero la pregunta que nos podemos hacer es: si estamos tratando de aproximar
una funcin, tal que se cumpla que
d y
dt
= f(t; y), por qu no utilizar el conjunto de los valores
obtenidos, o al menos un grupo de ellos, para obtener los puntos siguientes.
Esa idea es la que domina a los denominados mtodos de paso mltiple. El mtodo ms
sencillo es el denominado mtodo del salto de rana, cuya expresin es
w
0
= y
0
w
i+1
= w
i1
+ 2h f(t
i
; w
i
),
para i = 1; 2; . . . ; n 1. El valor de w
1
debemos calcularlo con otro mtodo. Como las aprox-
imaciones que obtenemos por el mtodo del salto de rana son del mismo orden que las que se
obtienen por cualquier mtodo de Runge-Kutta de orden 2, es conveniente aproximar w
1
con
alguno de esos mtodos.
Pero existen otros mtodos, muy utilizados, que mejoran la notoriamente la aproximacin
que podemos obtener.
Mtodos de Adams
Los mtodos de Adams son mtodos de paso mltiple muy utilizados. Se dividen en dos
grupos: los mtodos explcitos, o de Adams-Bashforth, y los mtodos implcitos, o de Adams-
Moulton.
En ambos casos, la idea es usar los puntos w
i
; w
i1
; . . .;w
i+1p
para obtener el w
i+1
,
en el caso de los mtodos de Adams-Bashforth, en tanto que en los de Adams-Moulton se usan
los w
i+1
; w
i
; w
i1
; . . .;w
i+2p
, donde p es el orden de convergencia. As, un mtodo de Adams-
Bashforth de orden 2 usa los puntos w
i
y w
i1
, en tanto que un mtodo de Adams-Moulton usa
los puntos w
i+1
y w
i
. Veamos como obtener algunos de estos mtodos.
Para obtener el mtodo de Adams-Bashforth de orden 2 partimos de la expresin
y(t
i+1
) = y(t
i
) +
_
t
i+1
t
i
f(t, y)dt.
Al igual que en el caso de los mtodos de Runge-Kutta de orden dos, armemos un poli-
nomio interpolante, pero en este caso, utilizando el mtodo de Newton de diferencias divididas
regresivas, para aproximar f(t; y). As, nos queda que
f(t; y) f
_
t
i
; y(t
i
)
_
+
f
_
t
i
; y(t
i
)
_
f
_
t
i1
; y(t
i1
)
_
t
i
t
i1
(t t
i
)
f
_
t
i
; y(t
i
)
_
+
f
_
t
i
; y(t
i
)
_
f
_
t
i1
; y(t
i1
)
_
h
(t t
i
).
Al integrar el polinomio interpolante obtenemos
_
t
i+1
t
i
f(t, y)dt h f
_
t
i
; y(t
i
)
_
+h
f
_
t
i
; y(t
i
)
_
f
_
t
i1
; y(t
i1
)
_
2
.

h
2
_
3f
_
t
i
; y(t
i
)
_
f
_
t
i1
; y(t
i1
)
__
.
y si reemplazamos en la expresin inicial, tenemos
y(t
i+1
) = y(t
i
) +
h
2
_
3f
_
t
i
; y(t
i
)
_
f
_
t
i1
; y(t
i1
)
__
.
Curso 008 PRELIMINAR - 133 -
7.1. Ecuaciones diferenciales ordinarias con valores iniciales Anlisis Numrico I
Como siempre, lo que buscamos es una aproximacin de y(t
i+1
), entonces el mtodo de
Adams-Bashforth de orden 2 queda formulado de la siguiente manera:
w
i+1
= w
i
+
h
2
[3f(t
i
; w
i
) f(t
i1
; w
i1
)] ,
para i = 1; 2; . . . ; n 1. Por lo tanto, debemos calcular w
1
con algn otro mtodo, por ejemplo,
el de Runge-Kutta de orden 2.
De todos los mtodos que se pueden desarrollar, uno de los mtodos de Adams-Bashforth
ms usados es el de orden 4, cuya expresin es
w
i+1
= w
i
+
h
24
[55f(t
i
; w
i
) 59f(t
i1
; w
i1
) + 37f(t
i2
; w
i2
) 9f(t
i3
; w
i3
)] ,
para i = 3; 4; . . . ; n1. Nuevamente, debemos hallar w
1
; w
2
y w
3
con ayuda de otro mtodo. Al
igual que en el mtodo de orden 2, en este caso podemos usar el RK O4.
Para obtener los mtodos de Adams-Moulton, procedemos de forma anloga. Para obtener
el de orden 2, planteemos el siguiente polinomio interpolante para aproximar f(t; y):
f(t; y) f
_
t
i+1
; y(t
i+1
)
_
+
f
_
t
i+1
; y(t
i+1
)
_
f
_
t
i
; y(t
i
)
_
t
i+1
t
i
(t t
i+1
)
f
_
t
i+1
; y(t
i+1
)
_
+
f
_
t
i+1
; y(t
i+1
)
_
f
_
t
i
; y(t
i
)
_
h
(t t
i+1
).
Al integrarlo, obtenemos que
_
t
i+1
t
i
f(t, y)dt h f
_
t
i+1
; y(t
i+1
)
_
+h
f
_
t
i+1
; y(t
i+1
)
_
f
_
t
i
; y(t
i
)
_
2
.

h
2
_
f
_
t
i+1
; y(t
i+1
)
_
+f
_
t
i
; y(t
i
)
__
.
Nuevamente, al reemplazar en la expresin inicial, tenemos
y(t
i+1
) = y(t
i
) +
h
2
_
f
_
t
i+1
; y(t
i+1
)
_
+f
_
t
i
; y(t
i
)
__
,
y como lo que buscamos es una aproximacin de y(t
i+1
), tenemos que
w
i+1
= w
i
+
h
2
[f(t
i+1
; w
i+1
) +f(t
i
; w
i
)] .
Resulta interesante ver que el mtodo de Adams-Moulton de orden 2 es el mtodo de Crank-
Nicolson.
Al igual que con Adams-Bashforth, uno de los mtodos ms usados es el de Adams-
Moulton de orden 4, cuya expresin es
w
i+1
= w
i
+
h
24
[9f(t
i+1
; w
i+1
) + 19f(t
i
; w
i
) 5f(t
i1
; w
i1
) +f(t
i2
; w
i2
)] ,
para i = 2; 3; . . . ; n 1. Nuevamente, debemos obtener w
1
y w
2
con ayuda del RK O4.
El uso de los mtodos de Adams-Moulton conlleva la necesidad de reformular la expresin
para convertirla en un mtodo explcito. Como esto no siempre es posible, una forma de aplicarlo
es mediante la combinacin de un mtodo de Adams-Bashforth y uno de Adams-Moulton, ambos
del mismo orden de convergencia. Esta combinacin se conoce como mtodo predictor-corrector
de Adams. Por ejemplo, el mtodo predictor-corrector de orden 2 es el siguiente:
w

i+1
= w
i
+
h
2
[3f(t
i
; w
i
) f(t
i1
; w
i1
)]
w
i+1
= w
i
+
h
2
_
f(t
i+1
; w

i+1
) +f(t
i
; w
i
)

,
- 134 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
para i = 2; 3; . . . ; n 1 y donde el valor de w
1
= w

1
debemos obtenerlo usando el mtodo de
Runge-Kutta de orden 2 o resolviendo en forma explcita la segunda ecuacin del mtodo. Uno
de los mtodos ms usados es el predictor-corrector de Adams de orden 4, cuya expresin es:
w

i+1
= w
i
+
h
24
[55f(t
i
; w
i
) 59f(t
i1
; w
i1
) + 37f(t
i2
; w
i2
) 9f(t
i3
; w
i3
)]
w
i+1
= w
i
+
h
24
_
9f(t
i+1
; w

i+1
) + 19f(t
i
; w
i
) 5f(t
i1
; w
i1
) +f(t
i2
; w
i2
)

,
para i = 4; 5; . . . ; n 1 y donde w
1
= w

1
, w
2
= w

3
y w
3
= w

3
los obtenemos usando RK O4.
En general, suelen ser ms precisos los mtodos de Adams-Moulton que los de Adams-
Bashforth. El de Adams-Moulton de orden 4 entrega resultados muy parecidos, en precisin, al
mtodo de Runge-Kutta de orden 4. Sin embargo, por una cuestin de sencillez al momento
de programar, los paquetes de software preeren incluir este ltimo y no el mtodo de Adams-
Moulton de orden 4.
7.2. Ecuaciones diferenciales ordinarias con valores de contorno
7.2.1. Introduccin
En el punto anterior hemos visto los diferentes mtodos numricos para la resolucin de
ecuaciones diferenciales ordinarias con valores inciales. Estos mtodos son principalmente para
resolver ecuaciones diferenciales de primer orden, tanto lineales como no lineales, y pueden ser
adaptados para ecuaciones de orden superior, siempre que stas sean de valores iniciales. El
planteo corresponde a la ecuacin diferencial expresada como:
dy
dt
= f(t, y), en [a, b] con y(a) = y
0
.
El principio que subyace en los mtodo estudiados es que toda curva puede aproximarse si
se conoce la pendiente o la funcin de la misma punto a punto. Como tambin uno conoce el valor
inicial de la funcin, aplicando la idea del cociente incremental, podemos ir obteniendo los valores
siguientes dentro de un intervalo dado. Este es el caso del mtodo de Euler, y de los mtodos de
Runge-Kutta. Por supuesto, es necesario que estas ecuaciones cumplan con ciertas condiciones
que aseguren la convergencia, la estabilidad del mtodo y la unicidad de los resultados, pues de
lo contrario el o los resultados obtenidos no sern conables.
Cuando en vez de ecuaciones diferenciales de primer orden debemos resolver numri-
camente ecuaciones diferenciales de orden dos o superior, los mtodos aplicados para el caso
anterior pueden utilizarse casi directamente si la expresin de la ecuacin diferencial es:
d
n
y
dt
n
= f(t, y, y

, . . . , y
(n1)
), en [a, b];
con las condiciones iniciales:
y(a) = ; y

(a) = ; . . . ; y
(n1)
(a) = ,
podemos aplicar un mtodo como el Runge-Kutta de orden cuatro, pero con algunas transforma-
ciones para poder adaptarlo al problema que debe resolverse. Estas transformaciones requieren
un cambio de variable, como por ejemplo:
z
1
(t) = y

(t); z
2
(t) = z

1
(t); . . . ; z
n
(t) = z

n1
(t).
Supongamos que tenemos una ecuacin diferencial de orden 2 expresada como:
d
2
y
dt
2
= f(t, y, y

), en [a, b];
Curso 008 PRELIMINAR - 135 -
7.2. Ecuaciones diferenciales ordinarias con valores de contorno Anlisis Numrico I
con las siguientes condiciones iniciales:
y(a) = ; y

(a) = .
Nuevamente, para resolver esta ecuacin lo que debe hacerse es transformar la ecuacin
diferencial en un sistema de dos ecuaciones diferenciales de primer orden, por medio de un cambio
de variable, como y

= z. Con este cambio de variable, teniendo en cuenta que lo que buscamos es


una aproximacin de y que llamaremos u, por lo que tambin se cumple que u

= z, el esquema
de resolucin queda:
u

(t) = z(t)
z

(t) = f(t, u, z)
A partir de aqu, se debe resolver el par de ecuaciones en forma simultnea para poder
obtener el valor de u(t) buscado. Si, por ejemplo, aplicamos el mtodo de Euler para resolver las
ecuaciones diferenciales de primer orden, el esquema iterativo queda de la siguiente manera:
u
i+1
= u
i
+h z(t)
z
i+1
= z
i
+h f(t
i
, u
i
, z
i
),
con el cual obtenemos en cada paso el nuevo valor de u(t) y de
d u
dt
representado por z(t).
En general, las ecuaciones diferenciales de orden dos o superior no son de valores iniciales
sino de valores de contorno o frontera. Es decir, no disponemos de todos los valores para t = a,
sino que tenemos valores para t = a y t = b. Por lo tanto, la ecuacin diferencial est dada por:
d
2
y
dt
2
= f(t, y, y

), en [a, b];
con las condiciones en los extremos del intervalo:
y(a) = ; y(b) = .
Con estas condiciones no es posible utilizar los mtodos estudiados en forma directa,
como el de Euler o los de Runge-Kutta, an transformando la ecuacin diferencial en un sistema
de ecuaciones diferenciales. En consecuencia, debemos buscar otra forma para aproximar nuestra
ecuacin diferencial y obtener los resultados de la funcin y(t).
Es necesario analizarlo con ms detalle el procedimiento para resolverlas? Como dato
importante, basta mencionar que buena parte de los problemas que debemos resolver los inge-
nieros, ya sean civiles, mecnicos, electrnicos,etc., estn expresados en trminos de ecuaciones
diferenciales de orden superior. Un ejemplo que suele ser muy usado es el caso de la ecuacin
diferencial de equilibrio para una viga, dada por la expresin:
EI
d
4
w
dx
4
p(x) = 0.
que requiere de cuatro condiciones de contorno para ser resuelta. Estas condiciones pueden ser:
1. Condiciones de borde esenciales (Dirichlet);
2. Condiciones de borde naturales (Neumann);
3. Una combinacin de ambas.
Por ejemplo, para una viga doblemente empotrada, de longitud L, como se ve en la gura,
las condiciones de borde son:
w(0) = 0; w(L) = 0; w

(0) = 0; y w

(L) = 0.
- 136 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
Figura 7.1: Viga doblemente empotrada
Este es el tpico caso de condiciones de borde esenciales o forzadas, puesto que las res-
tricciones estn asociadas a los desplazamientos y los giros en los extremos de la viga. Esta
ecuacin no es posible resolverla aplicando en forma directa los mtodos mencionados anterior-
mente. En consecuencia, para poder aproximar una solucin, debemos buscar alguna forma de
adaptar los mtodos vistos para tener en cuenta estas condiciones de frontera o de contorno.
Veremos a continuacin dos mtodos que pueden usarse para resolver este tipo de ecua-
ciones diferenciales. Empezaremos por el ms sencillo, el mtodo del disparo lineal, que hace uso
de los mtodos ya estudiados.
7.2.2. Mtodo del tiro o disparo lineal
Supongamos que tenemos la siguiente ecuacin diferencial:
y

= f(t, y), t [0; 1];


que debe cumplir con las condiciones:
y(0) = y
0
; y(1) = y
1
.
Como vemos, no tenemos dos condiciones iniciales, sino una para el valor inicial y otra
para el valor nal que debe tomar la funcin buscada.
Para encarar el problema haremos una modicacin. Resolveremos el siguiente problema
de valores iniciales, suponiendo que lo que buscamos es una aproximacin a y(t) que llamaremos
u(t
i
). Entonces nuestro sistema quedar de la siguiente forma:
u

= f(t, u), u
1
(0) = y
0
y u

1
(0) =
1
.
donde
1
es el primer ensayo para u

1
(0). Apliquemos para ello cualquiera de los mtodos vistos
anteriormente, por ejemplo el de Euler. Con l obtendremos un valor para u
1
(1) igual a
1
, que
seguramente ser distinto a y
1
.
Nuevamente, resolvamos con Euler un sistema similar pero proponiendo que u
2
(0) = y
0
y u

2
(0) =
2
. Obtendremos otro valor para u(1), es decir, un u
2
(1) =
2
, probablemente distinto
a y
1
.
En consecuencia, tendremos dos aproximaciones de y
1
. Para continuar, vamos a suponer
que existe una relacin lineal entre u(t
i
), u
1
(t
i
) y u
2
(t
i
). Esta relacin lineal estar dada por:
u(t
i
) u
1
(t
i
)
y
1

1
=
u
2
(t
i
) y
0

2
y
0
.
Para calcular u(t) debemos despejarla de la expresin anterior. As obtenemos:
u(t
i
) = u
1
(t
i
) +
y
1

2
y
0
[u
2
(t
i
) y
0
] .
Para entender como opera el mtodo, veamos un ejemplo prctico, resolviendo una
ecuacin diferencial de orden 2.
Curso 008 PRELIMINAR - 137 -
7.2. Ecuaciones diferenciales ordinarias con valores de contorno Anlisis Numrico I
Ejemplo
Resolver la siguiente ecuacin diferencial ordinaria con valores de frontera, aplicando el
mtodo de Euler:
y

= 4(y x); 0 x 1;
con los valores de contorno:
y(0) = 0; y(1) = 2.
Para resolver la ecuacin por el mtodo de Euler plantearemos primero que y

(x) = z(x),
con lo que tendremos que la ecuacin diferencial se transforma en:
y

(x) = z(x)
z

(x) = 4(y x)
Si aplicamos el mtodo de Euler, y hacemos u
i
= y(x
i
) tendremos las siguientes ecua-
ciones:
u
i+1
= u
i
+h z
i
z
i+1
= z
i
+h 4(u
i
x
i
)
Como vemos, debemos resolver dos ecuaciones para obtener el valor de u
i+1
. Por ello,
en primer trmino, vamos a resolver el sistema obteniendo, primero, valores para unas funciones
v
1
(x) y adoptando las siguientes condiciones iniciales:
v
1
(0) = 0; z
1
(0) = 0
por lo que el sistema a resolver ser:
v
1
i+1
= v
1
i
+h z
1
i
z
1
i+1
= z
1
i
+h 4(v
1
i
x
i
)
En segundo trmino, haremos lo mismo pero para las funciones v
2
(x) y z
2
(x) = v

2
(x)
con los valores de contorno levemente distintos. Estos son:
v
2
(0) = 0; z
2
(0) = 1,
y el sistema a resolver ser:
v
2
i+1
= v
2
i
+h z
2
i
z
2
i+1
= z
2
i
+h 4(v
2
i
x
i
)
Con los valores para cada una de las soluciones y por cada iteracin, calcularemos los
valores denitivos mediante la expresin:
u
i
= v
1
i
+
y(1) v
1
(1)
v
2
(1) y(0)
[v
2
i
y(0)]
En la tabla 7.1 podemos ver los resultados obtenidos.
En la penltima columna podemos ver el valor exacto de la funcin buscada, dado que
la solucin analtica de la ecuacin diferencial es:
y(x) = e
2
_
e
4
1
_
1
_
e
2x
e
2x
_
+x.
Los valores de u(x
i
) obtenidos no son muy precisos, dado que el mtodo utilizado para
resolver el sistema de ecuaciones es el de Euler, pero igualmente sirven como demostracin de la
efectividad al aplicar este mtodo. Podemos ver que la ltima columna muestra el error absoluto
entre el valor obtenido numricamente y el valor exacto. Observemos que el error cometido es,
del orden de 10
1
, un error razonable para este mtodo. (Recordemos que el mtodo de Euler
tien un error O(h).)
- 138 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
Tabla 7.1: Resultados obtenidos aplicando el mtodo de Euler
x
i
z
1,i
v
1,i
z
2,i
v
2,i
u
i
y(x
i
) e
0, 00 0, 000 0, 000 1, 000 0, 000 0, 000 0, 000 0, 0
0, 10 0, 000 0, 000 1, 000 0, 100 0, 252 0, 156 9, 7 10
2
0, 20 0, 040 0, 000 1, 000 0, 200 0, 504 0, 313 1, 9 10
1
0, 30 0, 120 0, 004 1, 000 0, 300 0, 752 0, 476 2, 8 10
1
0, 40 0, 242 0, 016 1, 000 0, 400 0, 992 0, 645 3, 5 10
1
0, 50 0, 408 0, 040 1, 000 0, 500 1, 220 0, 824 4, 0 10
1
0, 60 0, 624 0, 081 1, 000 0, 600 1, 432 1, 016 4, 2 10
1
0, 70 0, 896 0, 143 1, 000 0, 700 1, 621 1, 225 4, 0 10
1
0, 80 1, 234 0, 233 1, 000 0, 800 1, 784 1, 455 3, 3 10
1
0, 90 1, 647 0, 356 1, 000 0, 900 1, 913 1, 711 2, 0 10
1
1, 00 2, 150 0, 521 1, 000 1, 000 2, 000 2, 000 0, 0
7.2.3. Diferencias nitas
En el punto anterior hemos resuelto una ecuacin diferencial lineal con condiciones de
contorno utilizando un mtodo de resolucin que transforma las condiciones de contorno en
condiciones iniciales. Sin embargo, este mtodo tiene como desventaja que es inestable en ciertas
ocasiones. Por lo que su utilizacin se ve reducida generalmente a unos pocos casos o problemas.
Uno de los mtodos ms aplicados para aproximar una solucin de ecuaciones diferenciales
de orden mayor o igual a dos, es el que reemplaza las derivadas por diferencias nitas mediante
un cociente de diferencias, tal como vimos en diferenciacin numrica. La aplicacin de estas
diferencias nitas generan un sistema de ecuaciones lineales del tipo Ax = B, sistema que puede
resolverse mediante alguno de los mtodos ya vistos. Est claro que estamos limitados en la
eleccin de nuestro intervalo h, que no puede ser muy chico. Veamos en qu consiste el mtodo,
aplicndolo a nuestro ejemplo anterior.
Para aproximar las derivadas, tomaremos el mtodo de las diferencias centradas, que per-
miten una mejor aproximacin de las derivadas. Para empezar, desarrollemos y(x
i+1
) y y(x
i1
)
por Taylor hasta el cuarto trmino, por lo que tendremos:
y(x
i+1
) = y(x
i
+h) = y(x
i
) +hy

(x
i
) +
h
2
2
y

(x
i
) +
h
3
6
y

(x
i
) +
h
4
24
y
(iv)
(
+
i
),
para alguna
+
i
en (x
i
; x
i+1
), y
y(x
i1
) = y(x
i
h) = y(x
i
) hy

(x
i
) +
h
2
2
y

(x
i
)
h
3
6
y

(x
i
) +
h
4
24
y
(iv)
(

i
),
para alguna

i
en (x
i1
; x
i
). Dems est decir que se supone que y(x) C
4
[x
i1
; x
i+1
]. Si
sumamos ambas expresiones y despejamos y

(x
i
), tendremos:
y

(x
i
) =
1
h
2
[y(x
i+1
) 2y(x
i
) +y(x
i1
)]
h
2
24
_
y
(iv)
(
+
i
) +y
(iv)
(

i
)
_
.
Si aplicamos el teorema del valor medio, podemos simplicar la expresin a:
y

(x
i
) =
1
h
2
[y(x
i+1
) 2y(x
i
) +y(x
i1
)]
h
2
12
y
(iv)
(
i
),
para alguna
i
en (x
i1
; x
i+1
).
Curso 008 PRELIMINAR - 139 -
7.2. Ecuaciones diferenciales ordinarias con valores de contorno Anlisis Numrico I
Reemplacemos esta ltima expresin en nuestra ecuacin diferencial:
1
h
2
[y(x
i+1
) 2y(x
i
) +y(x
i1
)]
h
2
12
y
(iv)
(
i
)
. .
O(h
2
)
= 4 [y(x
i
) x
i
] .
De esta manera, nuestra ecuacin diferencial se transforma en:
[y(x
i+1
) 2y(x
i
) +y(x
i1
)] = 4h
2
[y(x
i
) x
i
] ,
y desarrollando algebraicamente, obtenemos:
_
y(x
i1
) 2(1 + 2h
2
)y(x
i
) +y(x
i+1
)

= 4h
2
x
i
,
por lo tanto, para cada i tenemos una ecuacin lineal. Denamos, entonces, el intervalo o paso
h como
ba
N
siendo N > 0; de esta manera obtendremos N intervalos para i [0; N]. Con i y h
podemos armar nuestro sistema de ecuaciones para i [1; N 1]. La matriz resultante ser:
A =
_

_
1 2(1 + 2h
2
) 1 0 0 . . . 0
0 1 2(1 + 2h
2
) 1 0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 1 2(1 + 2h
2
) 1 0
0 . . . 0 0 1 2(1 + 2h
2
) 1
_

_
.
Si hacemos que y
i
= y(x
i
) tendremos que nuestras incgnitas son:
y =
_

_
y
0
y
1
.
.
.
y
N1
y
N
_

_
.
Nuestro vector de trminos independientes ser:
B =
_

_
4h
2
x
1
4h
2
x
2
.
.
.
4h
2
x
N2
4h
2
x
N1
_

_
.
Pero hemos armado un sistema con N 2 las y N incgnitas y
i
. Para completar el
sistema debemos recordar que y
0
= y y
N
= , por lo que nuestro sistema de ecuaciones
lineales quedar como:
_

_
1 0 0 0 0 . . . 0
1 2(1 + 2h
2
) 1 0 0 . . . 0
0 1 2(1 + 2h
2
) 1 0 . . . 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 . . . 0 1 2(1 + 2h
2
) 1 0
0 . . . 0 0 1 2(1 + 2h
2
) 1
0 0 0 0 . . . 0 1
_

_
_

_
y
0
y
1
y
2
.
.
.
y
N2
y
N1
y
N
_

_
=
_

4h
2
x
1
4h
2
x
2
.
.
.
4h
2
x
N2
4h
2
x
N1

_
.
Armemos el sistema denitivo con x [0; 1], y(0) = y
0
= 0, y(1) = y
N
= 2 y N = 10.
Con estos parmetros tendremos que h =
10
10
= 0, 1. Entonces, en la matriz A tendremos el
coeciente (adems de 1):
2
_
1 + 2(0, 1)
2

= 2 (1 + 0, 02) = 2, 04;
- 140 - PRELIMINAR Curso 008
Anlisis Numrico I 7. Ecuaciones diferenciales ordinarias
y en el vector de trminos independientes:
4(0 + 0, 1)
2
0, 1i = 4(0, 1)
2
0, 1i = i 4(0, 1)
3
;
con i [1, N 1]. El sistema denitivo quedar con la matriz de coecientes:
A =
_

_
1 0 0 0 0 0 0 0 0 0 0
1 2, 04 1 0 0 0 0 0 0 0 0
0 1 2, 04 1 0 0 0 0 0 0 0
0 0 1 2, 04 1 0 0 0 0 0 0
0 0 0 1 2, 04 1 0 0 0 0 0
0 0 0 0 1 2, 04 1 0 0 0 0
0 0 0 0 0 1 2, 04 1 0 0 0
0 0 0 0 0 0 1 2, 04 1 0 0
0 0 0 0 0 0 0 1 2, 04 1 0
0 0 0 0 0 0 0 0 1 2, 04 1
0 0 0 0 0 0 0 0 0 0 1
_

_
,
y con el vector de trminos independientes:
B =
_

_
0
0, 004
0, 008
0, 012
0, 016
0, 020
0, 024
0, 028
0, 032
0, 036
2
_

_
.
Al resolver el sistema de ecuaciones por algn mtodo numrico conocido, obtenemos el
siguiente vector solucin:
y =
_

_
0, 000
0, 156
0, 313
0, 476
0, 645
0, 824
1, 017
1, 225
1, 455
1, 711
2, 000
_

_
.
Si lo comparamos con el vector y obtenido con el mtodo de Euler, podemos observar
que la solucin por diferencias nitas es mucho ms precisa, ya que los y obtenidos son iguales a
los hallados por aplicacin de la solucin analtica.
7.3. Mtodo de los elementos nitos
A completar en el futuro. Como gua, ver en [1], El mtodo de Rayleigh-Ritz, que es
la base del mtodo, en el captulo Problemas con valor en la frontera para ecuaciones
diferenciales ordinarias, y Una introduccin al mtodo de los elementos nitos, en el captulo
Soluciones numricas de ecuaciones diferenciales en derivadas parciales.
Curso 008 PRELIMINAR - 141 -
7.4. Notas nales Anlisis Numrico I
7.4. Notas nales
Casi podra decirse que todos los problemas que debe enfrentar un ingeniero pueden
formularse mediante ecuauciones diferenciales. Desde el anlisis estructural hasta el diseo de
un avin de pasajeros, las ecuaciones diferenciales intervenienen en forma explcitas (deben ser
resueltas) o e forma implcita (se aplican soluciones anliticas de dichas ecuaciones).
Hasta la mitad del siglo XX, muchas de las limitaciones en los aspectos ingenieriles esta-
ban dados por las pocas soluciones analticas que se podan obtener de muchas de las ecuaciones
diferenciales, y en cosencuencia, se dependa de los ensayos en modelos fsicos o en prototipos.
Con el desarrollo de las computadoras, a partir de los aos 50, y principalmente, con la aparicin
de las computadoras personales hace 25 aos, obtener soluciones aproximadas de las ecuaciones
diferenciales dej de ser un escollo en cuanto a timepo de clculo. Prcticamente todas las dis-
ciplinas cientcas y tecnolgicas basan sus soluciones en la aplicacin de mtodos numricos.
Dentro del conjunto de mtodos numricos para resolver ecuaciones diferenciales, los
mtodos de las diferencias nitas y de los elementos nitos, en particular este ltimo, son los
ms usados para encarar soluciones aproximadas. Y en los ltimos aos, la gran capacidad de
clculo de las computadoras han permitido adentrarse en la resolucin aproximada de problemas
con ecuaciones diferenciales no lineales, permitiendo el estudio de muchos fenmenos que antes
se consideraban como imposibles de abordar. Basta con ver el avance en el campo de los
estudios climticos, el comportamiento de los ros, el avance en la hidrulica martima, etc., que
han reemplazado el uso de modelos fsicos (muy caros y lerdos) por modelos matemticos (ms
baratos y rpidos).
- 142 - PRELIMINAR Curso 008
Anlisis Numrico I Bibliografa
Bibliografa
[1] Burden, R.L. & Faires, J.D. Anlisis Numrico. Sexta Edicin, International Thomson, 1998.
[2] Gavurin, M.K. Conferencias sobre los mtodos de clculo. Editorial Mir, 1973.
[3] Goldberg, D. What every Computer Scientist should know about Floating-Point Arithmetic.
ACM Computing Surveys, March 1991.
[4] Gonzlez, H. Anlisis Numrico, primer curso. Primera Edicin, Nueva Librera, 2002.
[5] Higham, N.J. Accuracy and Stability of Numerical Algorithms. SIAM, 1996.
[6] Higham, N.J. How accurate is Gaussian Elimination. Numerical Analysis 1989, Proceedings
of the 13th Dundee Conference, volume 228 of Pitman research Notes in Mathematics.1990.
[7] Higham, N. J. The numerical stability of barycentric Lagrange interpolation. IMA Journal
of Numerical Analysis. 2004.
[8] Marshall, G. Solucin numrica de ecuaciones diferenciales, Tomo I. Editorial Revert S.A.,
1985.
[9] Saad, Y. Iterative Methods for Sparse Linear Systems. Second Edition, 2000.
[10] Samarski, A.A. Introduccin a los mtodos numricos. Editorial Mir, 1986.
[11] Shewchuk, J. R. An introduction to the Conjugate Gradient Method without the agonizing
pain. Edition 1
1
4
. School of Computer Science. Carnegie Mellon University.
[12] Trefethen, L.N. The Denition of Numerical Analysis. SIAM News. November 1992.
[13] Trefethen, L.N. Numerical Analysis. Princeton Companion to Mathematics, to appear.
[14] Trefethen, L.N. & Berrut, J.P. Barycentric Lagrange Interpolation. 2004.
[15] Zill, D. G. Ecuaciones diferenciales con aplicaciones de modelado. Sptima Edicin, Inter-
national Thomson, 2002.
Curso 008 PRELIMINAR - 143 -