Anda di halaman 1dari 171

ANLISIS NUMRICO I

Resumen de las Clases Tericas


Ing. Rodolfo A. Schwarz
Profesor Adjunto
Curso 008
Ao 2009

ndice general
v

Prlogo
1. Errores en los mtodos numricos
1.1.
1.2.

1.3.
1.4.

1.5.

1.6.

1.7.
1.8.

1.9.

Una denicin de Anlisis Numrico

1
. . . . . . . . . . . . . . . . . . . . . . . . .

El concepto y las fuentes de error . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.1.

Introduccin

1.2.2.

Concepto de error

1.2.3.

Fuentes de error

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

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

Error absoluto y error relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Propiedades de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.1.

Condicin de un problema . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.2.

Estabilidad de un algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . .

Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.5.1.

Error inherente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.5.2.

Error de redondeo

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

10

1.5.3.

Error de truncamiento/discretizacin . . . . . . . . . . . . . . . . . . . . .

13

1.5.4.

Errores por overow y underow

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

15

Propagacin de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.6.1.

Propagacin del error inherente . . . . . . . . . . . . . . . . . . . . . . . .

16

1.6.2.

Propagacin del error de redondeo

17

1.6.3.

Propagacin de los errores inherentes y de redondeo

Grca de proceso

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

17

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

18

Perturbaciones experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

1.8.1.

Estimacin del nmero de condicin

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

21

1.8.2.

Estimacin del trmino de estabilidad

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

22

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

23

1.9.1.

Inestabilidad en los algoritmos

Cancelacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

1.9.2.

Acumulacin del error de redondeo . . . . . . . . . . . . . . . . . . . . . .

24

1.9.3.

Aumento de la precisin . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

1.10. Diseo de algoritmos estables

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

2. Sistemas de Ecuaciones Lineales

26

27

2.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

2.2.

Deniciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

2.3.

Matrices triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

2.4.

Eliminacin de Gauss y sustitucin inversa . . . . . . . . . . . . . . . . . . . . . .

29

2.5.

Factorizacin LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.6.

Mtodo de Cholesky

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

35

2.6.1.

Matrices simtricas y denidas positivas . . . . . . . . . . . . . . . . . . .

35

2.6.2.

Algoritmo de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Condicin de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

2.7.

Anlisis Numrico I - Curso 008

NDICE GENERAL

2.8.

Renamiento iterativo de la solucin

2.9.

Errores de los mtodos directos

2.10. Mtodos iterativos

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

39

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

40

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

42

2.10.1. Mtodos estacionarios

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

43

2.10.2. Convergencia de los mtodos estacionarios . . . . . . . . . . . . . . . . . .

47

2.10.3. Mtodos no estacionarios

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

48

2.10.4. Convergencia de los mtodos no estacionarios . . . . . . . . . . . . . . . .

54

2.10.5. Aspectos computacionales . . . . . . . . . . . . . . . . . . . . . . . . . . .


2.11. Errores de los mtodos iterativos
2.12. Notas nales

57

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

60

3. Ecuaciones no Lineales

63

3.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.2.

Mtodo de la biseccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

3.3.

Mtodo de la falsa posicin o regula falsi

3.4.

Mtodo de las aproximaciones sucesivas o punto jo

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

67

3.5.

Mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

3.6.

Anlisis del error

73

3.7.

Mtodos de convergencia acelerada . . . . . . . . . . . . . . . . . . . . . . . . . .

74

3.8.

Mtodo de Steensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

3.9.

Notas nales

76

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

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

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

4. Interpolacin de curvas

66

77

4.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

4.2.

Mtodo de Lagrange

77

4.3.

Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

4.4.

Interpolacin baricntrica de Lagrange . . . . . . . . . . . . . . . . . . . . . . . .

84

4.5.

Fenmeno de Runge

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

85

4.6.

Interpolacin de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

4.7.

Interpolacin por splines

4.8.

Notas nales

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

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

92

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

96

5. Mejor aproximacin y ajuste de funciones


5.1.

5.2.

5.3.

99

Mejor aproximacin

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

99

5.1.1.

Introduccin

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

99

5.1.2.

Error y normas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

5.1.3.

Mtodo de los cuadrados mnimos

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

101

Ajuste de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

5.2.1.

Introduccin

105

5.2.2.

Aproximacin por mnimos cuadrados

5.2.3.

Polinomios de Legendre

Notas nales

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

106

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

108

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

109

6. Diferenciacin e integracin numrica


6.1.

6.2.

57

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

ii -

Diferenciacin numrica

111

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

111

6.1.1.

Diferencias progresivas, regresivas y centradas . . . . . . . . . . . . . . . .

111

6.1.2.

Aproximacin por polinomios de Taylor

6.1.3.

Extrapolacin de Richardson

6.1.4.

Notas nales

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

115

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

117

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

120

Integracin numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

6.2.1.

Frmulas de Newton-Cotes

122

6.2.2.

Frmulas cerradas de Newton-Cotes

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

Resumen clases tericas

122

Revisin: 11/2009

ndice general

Anlisis Numrico I - Curso 008

6.3.

6.2.3.

Frmulas abiertas de Newton-Cotes

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

132

6.2.4.

Cuadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

133

6.2.5.

Integrales mltiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Notas nales

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

7. Ecuaciones diferenciales ordinarias


7.1.

139
. . . . . . . . . . . . . . . . . . .

139

7.1.1.

Ec. diferenciales ordinarias con valores iniciales


Introduccin

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

139

7.1.2.

Condicin de Lipschitz . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141

7.1.3.

Problema bien planteado . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141

7.1.4.

Mtodos de Euler explcito e implcito

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

142

7.1.5.

Mtodo predictor-corrector de Euler

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

143

7.1.6.

Error cometido al resolver una ecuacin diferencial

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

144

7.1.7.

Mtodos de Taylor de orden superior . . . . . . . . . . . . . . . . . . . . .

145

7.1.8.

Mtodos de Runge-Kutta

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

146

7.1.9.

Mtodos de paso mltiple

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

149

7.1.10. Mtodos de Adams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

150

7.1.11. Mtodo predictor-corrector de Milne

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

153

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

153

7.2.

Ec. diferenciales ordinarias de orden superior

7.3.

Sistemas de ecuaciones diferenciales de primer orden

7.4.

Ec. diferenciales con condiciones de contorno

7.5.

136
138

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

155

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

155

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

155

7.4.1.

Introduccin

7.4.2.

Mtodo del tiro o disparo lineal . . . . . . . . . . . . . . . . . . . . . . . .

156

7.4.3.

Diferencias nitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

159

Notas nales

Revisin: 11/2009

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

Resumen clases tericas

161

iii -

NDICE GENERAL

iv -

Anlisis Numrico I - Curso 008

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

0. Prlogo

Prlogo
Esto no pretende ser un libro sobre Anlisis Numrico ni algo que se le parezca. Simplemente 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. Durante el el ao 2009 se revis
todo lo escrito, gracias a la colaboracin desinteresada de los alumnos. Tambin se busc ampliar
alguno de los temas tratados.
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 servir como ayuda-memoria a la hora de repasar lo visto
en clase. Textos y libros de gran calidad existen por doquier, algunos de los cuales se reeren en
la bibliografa, a los que 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, Universit 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 lo 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 para la explicacin es la publicada por el profesor Dr. 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 texto actual usa parte de esa publicacin y agrega tambin algunas ideas propias.
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. Tambin de los
alumnos, quienes han aportado (y siguen aportando) mucho revisandolo y encontrando errores
y puntos que no resultaron muy claros o fciles de seguir.
Rodolfo A. Schwarz, Buenos Aires, noviembre de 2009.

Revisin: 11/2009

Resumen clases tericas

v-

Anlisis Numrico I - Curso 008

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 computadoras (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. Denicin 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 matemtica continua.
Para l la palabra clave es algoritmo. De hecho, en Wikipedia podemos encontrar esta
denicin:

Revisin: 11/2009

Resumen clases tericas

- 1 -

Anlisis Numrico I - Curso 008

1.2. El concepto y las fuentes de error

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 puntos 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 seguramente 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
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 parciales. y
Si bien existen mtodos de resolucin analticos (simblicos) para las ecuaciones diferenciales,
las condiciones de borde de un problema particular puede hacer intil la bsqueda 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 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 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

obtener los polinomios es:

n
Y

Pn (x) =

n
X

fj lj (x); lj (x) =

j=0

(x xk )

k=0
k6=j
n
Y

(1.1)

(xj xk )

k=0
k6=j
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

2. Aadir un nuevo par de datos

O(n2 )

sumas/restas y multiplicaciones/divisiones.

xn+1 ; fn+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 utilizar 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 necesariamente 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.

Revisin: 11/2009

Resumen clases tericas

- 3 -

Anlisis Numrico I - Curso 008

1.3. Error absoluto y error relativo

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 procedimiento 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 introducidas 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 originales, 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 obtenemos de alguna forma (por ejemplo, una medicin) cierto valor
de dicho valor es

m.

Como conocemos ese valor

1.

Error absoluto: ea = m m
;

2.

Error relativo: er =

mm

ea
=
m
m

m
. Sabemos que el valor exacto

podemos denir dos tipos de errores:

(siempre que

m 6= 0).

Generalmente, el error relativo es una medida mucho ms representativa del error, especialmente cuando

|m| >> 1.

|m| 1, entonces ambos errores coinciden. En la prctica


valor m, por lo que no podemos calcular ea ni er . Entonces,

Cuando

suele ser poco probable conocer el

cmo sabemos qu error estamos teniendo? Si no conocemos la solucin del problema pareciera
que no hay forma de saberlo.
Partamos de no conocer

1 es

instrumento cuya precisin

m
em

y de que el valor

fue obtenido por medicin usando un

(por error de medicin). Si tomamos el concepto de error

absoluto podemos obtener una idea del valor de

m.

En efecto, tenemos que:

em = ea = m m
m=m
+ ea ;
que podemos generalizar a:

m=m
ea ;
si tenemos en cuenta que el valor de

ea

puede ser positivo o negativo. As, una forma ms general

de escribir el error absoluto y el relativo es:


1.

2.

|E| = |ea | = |m m|
;


m m
|E|
|m m|

|er | =
=
=
.

m
|m|
|m|

En este caso, precisin se reere a la unidad ms chica que el instrumento puede medir.

- 4 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


Como hemos supuesto que

1. Errores en los mtodos numricos

ea = em , sabemos cual es nuestro error absoluto, pero seguimos


m:

sin saber cul es nuestro error relativo. Tenemos dos posibilidades para obtener

m=m
+ ea

m=m
ea ,

y entonces el error relativo sera:

er =

ea
m
+ ea

er =

ea
|ea |
|er | =
m
ea
|m
+ ea |

|er | =

|ea |
.
|m
ea |

Resulta, entonces, ms conveniente denirlo como:

er =
cuando se conoce

|ea |
,
|m|

ea .

1.4. Propiedades de los algoritmos


Hemos dicho que el anlisis numrico se ocupa de estudiar algoritmos para resolver problemas 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 como 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. Podemos tener 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 qu
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. En este caso
estudiamos la incidencia del error de redondeo.
3. Finalmente, y tal vez el ms sencillo de todos, otra aproximacin puede ser analizar qu
ocurre cuando se trunca un procedimiento o discretiza el dominio de nuestro problema
matemtico. Este tipo de anlisis puede que requiera solamente de un trabajo algebraico
ms que numrico, y, a veces, suele combinarse con el error de redondeo.
La enumeracin anterior en tres aproximaciones es a los efectos de identicar las causas
y la forma de encarar el problema. Sin embargo, la realidad suele ser mucho ms compleja, y
los errores que surgen de aplicar un algoritmo o varios, resultan ser una combinacin de todos y
dependen, muchas veces, de las caractersticas de los datos del problema.

Revisin: 11/2009

Resumen clases tericas

- 5 -

Anlisis Numrico I - Curso 008

1.4. Propiedades de los algoritmos

1.4.1. Condicin de un problema


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 (o perturbacin)
en los datos el resultado se modica levemente (o tiene un pequeo cambio) enonces estamos ante

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
un problema

forma de corregirlo cambiando el algoritmo (como se ver despus) pues el problema est en el
modelo matemtico.

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.
x

Si

a la variable real y

f representa al
x a la variable

algoritmo real y

al algoritmo computacional, y

computacional, entonces el error en los resultados se

puede denir como:

|f (x) f (x )| |f (x) f (x )| + |f (x ) f (x)| + |f (x) f (x )| .


|
{z
} |
{z
} |
{z
}
condicin

estabilidad

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.

1.4.2. Estabilidad de un algoritmo


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 debemos buscar de un algoritmo es que sea
nica esto en la prctica? Supongamos (una vez ms, supongamos) que
cometido en el paso

En

estable. Qu sig-

mide un cierto error

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:

En c n E0

2. Error con crecimiento exponencial:

En cn E0

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.


- 6 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

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 exclusiva 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:

Z
yn =
0
con

xn
dx;
x + 10

n = 1; 2; . . . ; 34.
Es fcil ver que las primeras integrales analticas son relativamente sencillas de obtener

(por ejemplo, para

y1
y1

n = 1 o n = 2). En efecto, si queremos hallar y1 podemos hacer:


 
Z 1
x
11
1
1
=
dx = x|0 10 ln(x + 10)|0 = 1 10 ln
;
x
+
10
10
0
= 1 10 ln(1, 1) = 0, 0468982019570.

Pero si queremos obtener

y15

la situacin ya no es tan sencilla. Deberamos calcular la

siguiente integral:

Z
y15 =
0

x15
dx.
x + 10

Para facilitar el clculo de cada una de las

yn

integrales, desarrollemos un algoritmo

que nos permita obtener los valores de las mismas sin tener que integrar o que al menos utilice
aquellas integrales fciles. Para un

yn + 10 yn1 =

cualquiera podemos decir que:

Z 1
Z 1
xn + 10 xn1
x + 10 n1
dx =
x
dx =
xn1 dx
x + 10
0
0 x + 10
0
1
1
yn = 10 yn1
n
n

Z
yn + 10 yn1 =

n>1

Si queremos calcular

y1

necesitamos obtener

y0 ,

que tambin resulta muy sencillo de

obtener, pues:

1
dx = ln (x + 10)|10 = ln (11) ln (10)
x
+
10
0
= ln(1, 1) = 0, 0953101798043.

y0 =
y0

Para analizar si el algoritmo arroja resultados conables, empezaremos por calcular algunos valores. Hemos calculado el valor de

y1

en forma analtica, por lo tanto, tenemos un valor

de comprobacin. Por otro lado, por las caractersticas del problema sabemos que
Si denimos las funciones
funciones es menor a

0,1
2

fi (x) =

= 0, 05.

xi
x + 10

0 yn 1 .

y las gracamos, podemos ver que el rea bajo esas

En la gura 1.1 se pueden ver representadas algunas de estas

curvas.
Para comprobar la ecacia del algoritmo hemos utilizado dos programas muy conocidos:
R
R


y el MS Excel . Con el primero hemos calculado las yi en forma analtica y con

el MathCAD

el algoritmo dado; con el segundo, slo con el algoritmo. En la tabla 1.1 se tienen los resultados
obtenidos.

Revisin: 11/2009

Resumen clases tericas

- 7 -

Anlisis Numrico I - Curso 008

1.4. Propiedades de los algoritmos

Tabla 1.1: Clculo de los

- 8 -

yi

Analtico

R
MathCAD

R
MS Excel

0,0468982019567514000

0,04689820195675065

0,04689820195675

0,0310179804324860060

0,031017980432493486

0,03101798043248

0,0231535290084732900

0,023153529008398455

0,02315352900857

0,0184647099152671080

0,018464709916015454

0,01846470991435

0,0153529008473289370

0,015352900839845474

0,01535290085650

0,0131376581933772860

0,013137658268211921

0,01313765810168

0,0114805609233700040

0,011480560175023635

0,01148056184036

0,0101943907662999780

0,010194398249763648

0,01019438159642

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

29

0,0030392404628472014

-7483463674048,985

30

0,0029409287048613280

74834636740489,89

31

0,0028487774675157640

-748346367404898,9

32

0,0027622253248423658

7483463674048989

33

0,0026807770546066550

-74834636740489890

34

0,0026039941598158087

748346367404898800

9, 16988 1011
9, 16988 1012
9, 16988 1013
9, 16988 1014
9, 16988 1015
9, 16988 1016
9, 16988 1017

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

Figura 1.1: Curvas de las distintas funciones.

R

Podemos ver que los primeros valores obtenidos con el algoritmo, tanto en MathCAD
R

como en MS Excel , resultan una buena aproximacin de los valores de yn . Los problemas
aparecen para

y12

y siguientes. Detengmonos a analizar los resultados obtenidos a partir de

y12 .

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
superiormente por

0, 05.

curva van disminuyendo a medida que crece


es mayor que el

y12 ,

yn ,

o sea, las reas bajo las curvas, estn limitados

Adems podemos ver que

n.

yn > yn+1 ,

es decir, que las reas bajo la


R

, el y13

Si miramos los obtenidos con MS Excel

algo que no es posible segn lo visto antes. Y el

y14

es, negativo! El rea


R

ocurre

bajo la curva no puede ser negativa. Con los resultados obtenidos con el MathCAD
algo similar. Para este programa,

y14

da mayor que

y13 ,

y el

y15

da negativo, ambos resultados

incorrectos.
A partir de estos valores, los resultados se vuelven oscilantes (cambian de signo), y mayores que uno (yn

>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

yn

cuando

n 12, por lo que no nos sirve para obtener el y34 . 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. Para ello, empezaremos por analizar
algunos tipos de error.

Revisin: 11/2009

Resumen clases tericas

- 9 -

Anlisis Numrico I - Curso 008

1.5. Errores

1.5. Errores
1.5.1. Error inherente
ste 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

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,

b = 5, 0 0, 1

y queremos hallar

z = a + b.

a = 3, 0 0, 1

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,

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.


Esto 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 incidencia del
error en los clculo efectuados con ayuda de una computadora.

Representacin numrica
Para empezar, supongamos el siguiente nmero:
tarse como

4
3 . En el sistema decimal suele represen-

1, 3333 . . . . Una forma alternativa es:




4 1
3
3
3
3
+
+
+
+
+ . . . 101 = 1, 3333 . . . ;
=
3
10 102 103 104 105

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 calculadora, por ejemplo, slo puede representarlo en forma numrica (en base diez, como la escrita

arriba) y, por ende, la nica representacin posible es nita . En consecuencia, debe truncarse
esta serie en n  trminos. Por ejemplo, una representacin posible es:

4
=
3

1
3
3
3
+ 2+ 3+ 4
10 10
10
10

101 = 0, 1333 101 = 1, 333.

Podemos ver que esta representacin est formada por un coeciente (0,1333), una base

representacin de coma
(punto) otante. Una generalizacin de esta representacin se puede escribir como:

(10) y un exponente (1). Esta forma de representacin se conoce como

f l(x) = 0, d1 d2 d3 . . . dt1 dt 10 =
2

Distinto sera el caso si se usara base 3. Entonces

- 10 -

d1
d1
d1
d1
d1
+
+
+ . . . + t1 + t
10 102 103
10
10
4
3

10e .

sera igual a 1,1; una representacin exacta.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

d1 9) y que los restantes di


0 d1 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,
S
S
podemos hallar el mximo numro a representar, que es 0, 99 . . . 99 10 10 , y el ms chico,
I
I1
0, 10 . . . 00 10 = 10 .
La forma normalizada es que

d1

sea distinto de cero (1

estn comprendidos en el siguiente intervalo:

Una vez denida la forma de representar los nmeros, pasemos a denir nuestra precisin,
que signica cuantos trminos

di

usaremos, esto es, el

que vimos, y el exponente

de la base.

Para complicar ms las cosas, las calculadoras y fundamentalmente, las computadoras,


usan una representacin numrica con base 2
puesto que se usa base 2, los

di

3 . Esto trae ventajas y desventajas. Por ejemplo,

slo pueden valer 0 o 1, con excepcin del

d1 ,

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
resultan exactos. Veamos cmo
2i

funciona esto.
Supongamos que tomamos nuestro sistema de representacin binario para representar
nuestro nmero inicial,

4
3 . Tomemos que la cantidad de trminos,

momento libre de restricciones el exponente

4
0, 10101010 2 =
3

e.

t,

sea 8 y dejemos por un

Entonces, tendremos lo suguiente:

1 1
1
1
+ +
+
2 8 32 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.
No siempre se entiende la incidencia del error por la representacin numrica. Un ejemplo
que ya es tradicional de lo catastrco que puede ser tomar una representacin numrica sin
analizar su incidencia, es la falla de la batera de misiles Patriot en Dharan, Arabia Saudita,
durante la Guerra del Golfo en 1991, en detectar un misil SCUD iraqu, que result con 28
soldados muertos y casi 100 heridos.
El problema estaba en el programa de rastreo del sistema de deteccin de blancos enemigos. El sistema dispona de contador de tiempo, en nmeros enteros, que registraba las ventanas
de rastreo de una dcima de segundo (0, 1) para detectar los blancos, contador que luego se

1
10 para transformarlo en tiempo real. El programa trabajaba con una repre1
sentacin numrica de
10 en base 2, cuya representacin es 0, 000110011001100110011001100 . . .,
multiplicaba por

que es peridica, o sea, innita. Como no se puede trabajar con una representacin innita,

0, 1 se re0, 00011001100110011001100, con el consiguiente error de corte/redondeo, dado por el


nmero binario 0, 000000000000000000000001100110011001100 . . ., que en representacin deci8 ). Esta diferencia, que parece pequea, luego
mal es aproximadamente 0, 000000095 (9, 5 10
el programa adopt una precisin de 24 bits. Por ese motivo la representacin de
dujo a

de 100 horas de operacin continua se convirti en algo peligroso: al multiplicar 100 horas por
ese error en la representacin numrica del programa (0, 000000095
diferencia de

0, 34

la ventana de deteccin se corri


iraqu (que vuela a

100 60 60 10),

dio una

segundos respecto del tiempo real. La consecuencia de esa diferencia es que

0, 34

segundos (respecto de

0, 10),

por lo que el misil SCUD

1, 676 km/s) no fue detectado por el sistema de rastreo en la siguiente ventana

y el sistema de alerta lo consider una falsa alarma, permitiendo que el misil enemigo impactara
en la base de Dharan.
Lo dramtico en este caso es que esa falla en el sistema de rastreo se haba detectado, establecimdose que el sistema deba ser reiniciado cada ocho horas de operacin continua,
porque a las ocho horas la ventana de rastreo se desplazaba un

20 %.

Pero la modicacin del

procedimiento operativo fue enviado un da despus del incidente.

Existen, sin embargo, procesadores que no usan una representacin binaria.

Revisin: 11/2009

Resumen clases tericas

- 11 -

Anlisis Numrico I - Curso 008

1.5. Errores

Error por corte/redondeo


Volvamos a nuestro sistema decimal tradicional. Supongamos ahora que nuestros nmeros
se pueden representar de la siguiente manera:

f l(x) = (0, d1 d2 d3 . . . dt dt+1 dt+2 . . .) 10e .


Si nuestra precisin elegida es t, entonces debemos recortar el nmero denido arriba, pues no
podemos representar los

di

para

i > t.

En consecuencia, tenemos dos alternativas bsicas para

efectuar dicho recorte:


1.

Corte: Ignorar los dgitos di cuando i > t.

2.

Redondeo: Sumar 1 a dt
corte si

dt+1 <

si

dt+1

10
2 .

10
2 e ignorar los restantes

di

para

i > t + 1,

o aplicar

Esto nos permite obtener una cota del error absoluto para ambos casos:


eA =

10t 10e para corte


1
t 10e para redondeo.
2 10

Y como denimos el error absoluto, tambin podemos denir un lmite para el error
relativo, que ser:

10t 10e
= 101t .
0, 1 10e

1.

Corte: er

2.

Redondeo: er
Al valor

101t

1
1 10t 10e
= 101t .
e
2 0, 1 10
2

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
de

unidad de mquina

unidad de redondeo.

El negativo del exponente

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

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.

Redondeo exacto
Tal como dijimos, el nmero
como a

0, 142.

0, 1425

est mitad de camino de ser redondeado a

0, 143

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,
a

0, 143.

0, 1425

se redondea a

0, 142

y no

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].)


- 12 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

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 0 (x0 )

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

x0

para calcular

f 0 (x0 )

valdremos de la serie de Taylor. En efecto, para cualquier punto distante

f (x0 + h) = f (x0 ) + f 0 (x0 )h + f 00 (x0 )

f (x). Para ello nos


h de x0 tendremos:

utilizando solamente

h2
h3
h4
+ f 000 (x0 ) + f 0000 (x0 ) + . . . .
2
6
24

f 0 (x0 ), que resulta ser:




f (x0 + h) f (x0 )
h
h2
h3
0
00
000
0000
f (x0 ) =
f (x0 ) + f (x0 ) + f (x0 ) + . . . .
h
2
6
24

Entonces podemos despejar

Si nuestro algoritmo para aproximar

f 0 (x0 )

es:

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




2
3
0


f (x0 ) f (x0 + h) f (x0 ) = f 00 (x0 ) h + f 000 (x0 ) h + f 0000 (x0 ) h + . . . .



h
2
6
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
como

O(hn )),

siendo

caso, y dado que

O(n) (generalmente,

el parmetro que determina la velocidad o la convergencia. En nuestro

generalmente es menor a 1, podemos decir que la aproximacin es del tipo:

f 0 (x0 ) =

f (x0 + h) f (x0 )
+ O(h),
h
h. (Est claro que adems estn los
h2 << h, h3 << h2 , etc., la inuencia de

que indica que el error que se comete es proporcional a


trminos con

h2 , h3 ,

etc., pero como

h<1

entonces

stos es mucho menor y despreciable.)


Nuevamente, supongamos por un momento que se cumple que todas las derivadas

para

i 3.

Entonces tendremos que:



0
h 00
f
(x
+
h)

f
(x
)
0
0
f (x0 )
= f ()

2
h
con lo cual, si conociramos
preciar el trmino

f 00 (),

con

[x; x + h],

podramos acotar el error que estamos cometiendo por des-

h 00
f (x0 ).
2

Como ejemplo, apliquemos este algoritmo para obtener la derivada en


de la funcin

f <i> (x0 ) =

f (x) = sen(2x).

Revisin: 11/2009

x0 = 0, 45 (f 0 (0, 45))

Como vericacin tomemos el valor analtico de la derivada en

Resumen clases tericas

- 13 -

Anlisis Numrico I - Curso 008

1.5. Errores
cuestin:

h = 0, 1.

f 0 (0, 45) = 2 cos(2 0, 45) = 5, 97566.

Para calcular la aproximacin tomemos

As, tendremos.

f 0 (0, 45) =

sen(2 0, 55) sen(2 0, 45)


f (0, 55) f (0, 45)
=
= 6, 18034.
0, 1
0, 1

En la tabla 1.2 podemos ver los resultados obtenidos para distintos


Tabla 1.2: Valores de

f 0 (x0 )

en funcin de h

f 0 (x0 )

Error

101

-6,18033988749895

102

-6,03271072100927

103

-5,98172474217345

104
105
106
107
108
109
1010
1011
1012
1013
1014
1015
1016

-5,97627391137889

2, 04676 101
5, 70464 102
6, 06041 103
6, 09582 104
6, 09936 105
6, 09966 106
6, 12277 107
5, 60549 108
1, 89282 107
1, 74359 106
5, 62937 106
2, 21966 104
6, 66212 104
1, 95400 102
9, 14823 102
2, 35101

-5,97572532307633
-5,97567042914804
-5,97566494175972
-5,97566438553798
-5,97566451876474
-5,97566607307698
-5,97566995885756
-5,97544236313752
-5,97633054155722
-5,99520433297584
-5,88418203051333
-8,32667268468867

h.

Si observamos con atencin, veremos que el algoritmo utilizado aproxima muy bien el
valor buscado hasta

h = 108 .

Si estimamos la cota de error con

valor muy parecido al error indicado en la tabla 1.2

f 00 (0, 45)

f 00 (x0 )

4:

108
2

obtenemos una

108
= 6, 09975 108 (5, 60549 108 ).
2

Sin embargo, a partir de

h < 108

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 < 108

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
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 truncamiento/discretizacin.
Veremos ms adelante que esta incidencia del paso en el clculo de una aproximacin
numrica de la derivada primera, nos alerta de la inestabilidad de la diferenciacin numrica, es
decir, es muy sensible a la propagacin del error de redondeo.

En forma rigurosa deberamos hallar , pero dado que el intervalo es tan pequeo, puede tomarse x0 .

- 14 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

Figura 1.2: Evolucin del error del algoritmo.

1.5.4. Errores por overow y underow


Asociados a la representacin numrica existen otros dos tipos de errores. Son los denominados 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
era

9, 999999999 1099

n!

si

n > 69

pues el nmero ms grande que podan representar

(69!=1, 71122452428141

1098

y 70!=1, 19785716699699

10100 ).

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

1012 50,

como

1012 = 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-

p
0, 01 0, 0062 ,
0, 0062 = 0, 0000 y

0, 0062 = 0, 000036 <

plo anterior, y queremos obtener el resultado de

como

0, 0001 y no le es posible representarlo,

0, 01 0, 0 = 0, 01 = 0, 1.

la operacin quedar como

har

La diferencia entre ambos es que el error por overow no pasa desapercibido, mientras
que el underow s, y en consecuencia, puede ser ms peligroso.

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.

Revisin: 11/2009

Resumen clases tericas

- 15 -

Anlisis Numrico I - Curso 008

1.6. Propagacin de errores

1.6.1. Propagacin del error inherente


Supongamos que tenemos un problema numrico tal que podemos expresarlo como

y(x),

siendo

un vector de

<n ,

que corresponde a los datos de entrada, e

un vector de

x
<m ,

que corresponde a los resultados. Podemos escribir entonces que:

y1 (x)
x1
y2 (x)
x2


x . y(x) = . ,
.
.
.
.
ym (x)
xn

donde

yi (x) : <n <; y(x) : <n <m .


Por otra parte, supongamos que en lugar de

de

x;

alrededor

yi (x)
de x
:

x
,

es decir, una aproximacin

pertenecen a

y(x) = y (
x) +

[y1 (
x); y2 (
x); . . . ; ym (
x)]
(x x
) + T (x x
) .
[x1 ; x2 ; . . . ; xn ]

Podemos suponer ahora que

T (x x
)

conocemos

exi = xi x
i , que tambin conocemos. Y nuestra ltima suposicin
C (x), lo que nos permite desarrollar y(x) en una serie de Taylor

podemos denir que

es que las

exi = xi x
1

para

i [1, n]

es muy pequeo, y que por eso

es despreciable, con lo que nos queda:

yi (x) yi (
x) =

n 
X
yi (
x)
j=1

que por analoga a

e xi

para

i = 1; 2; . . . ; m,

podemos expresar como:

eyi =

n
X
yi (
x)
j=1

que nos da el error de

xj


(xj x
j )

yi

xj

exj ;

para

en funcin de del error de

i = 1; 2; . . . ; m,
xj .

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 (x1 ; x2 ) = x1 + x2 , entonces tendremos:


ey = ex1 +x2 =

y (
x1 ; x
2 )
y (
x1 ; x
2 )
ex1 +
ex2 ,
x1
x2

o sea,

ey = 1 ex1 + 1 ex2 ey = ex1 + ex2 .


El error relativo ser:

ery =
Sabemos que

ex1 = x1 erx1
ery =

2.

ey
ex + ex2
ex1
ex2
= 1
=
+
.
y
x1 + x2
x1 + x2 x1 + x2

ex2 = x1 erx2 ,

por lo que podemos escribir:

x1 erx1
x2 erx2
x1
x2
+
=
erx1 +
er .
x1 + x2
x1 + x2
x1 + x2
x 1 + x 2 x2

Producto: En este caso tenemos y (x1 ; x2 ) = x1 x2 , entonces:


ey = x2 ex1 + x1 ex2 .
El error relativo para el producto ser:

ery =
- 16 -

ey
x 2 e x1
x1 ex2
=
+
= erx1 + erx2 .
y
x1 x2
x1 x2
Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

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: ery

2.

Producto:



|x2 |
|x1 |
erx1 +
erx2 .
|x1 + x2 |
|x1 + x2 |



ery = erx1 + erx2 .

A partir de este razonamiento es que la suma es una operacin mal condicionada cuando
se da que

|x1 | |x2 |

x2 < 0

es decir, la suma algebraica. Suponiendo que

ery =
lo que hace que

ery

erxi r

se tiene:

|x1 | + |x2 |
r.
|x1 x2 |

crezca en forma incontrolada, pues el coeciente siempre es mayor a uno, y

puede ser mucho mayor que

si

x1 x2

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,

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
para

que:

"
y(x) = y(x) + E(x) yi (x) = yi (x) 1 +

p
X

#
Fi,k (x)k ,

k=1
con

|k | ,

y donde los

Fi,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:

eyi =

n
X
yi (x)
j=1

Como adems tendremos

P (x)

xj

exj
=

n
X
yi (
x)

xj

j=1

en vez de

y(x),

entonces:

n
X
Pi (
x)

e yi
= ePi =

j=1

exj .

xj

exj ,

y el error relativo ser:

n
X
Pi (
x)

erPi =
en consecuencia, el coeciente que afecta a

x
j

Pi (
x)
erxj

dene como :

j=1

erxj ,

ser el nmero de condicin del problema, que se

n
X
Pi (
x)

Cpi =
Revisin: 11/2009

xj

j=1

xj
Pi (
x)

x
j
.

Resumen clases tericas

- 17 -

Anlisis Numrico I - Curso 008

1.7. Grca de proceso

Del mismo modo, tendremos el trmino de estabilidad, que se dene como:

yi (x) Pi (
x) = Pi (
x)

p
X

p
X

k Te =
Fi,k (X)

k=1
Si suponemos que

erxj r,

k
Fi,k (X)
=

k=1

p
X

Fi,k (X).

k=1

entonces, tendremos:

eryi
= Cpi r + Tei ,
que ser el

error relativo total.

Finalmente, si suponemos ahora que

r
= ,

entonces tenemos:

Cp + Tei
,
eryi
= (Cpi + Tei ) = Cpi i
Cp i
y podemos decir que un algoritmo es estable si:

Cpi + Tei
Te
> / > 1 1 + i > / > 1,
Cpi
Cp i
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

Tei
= 2).
Cpi

Sin

embargo, esta armacin debe tomarse con cuidado. Dado que lo que se analiza es la relacin

Te
,
Cp

debe tenerse en cuenta que si

Cp >> 1

Te
1
Cp

entonces

Te >> 1,

por lo que es posible

que el algoritmo sea inestable.

1.7. Grca de proceso


Una forma de obtener los coecientes

Cp

Te

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 incluyen 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.

Figura 1.3: Grca de proceso de la suma.

- 18 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

Figura 1.4: Grca de proceso del 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,


|erx | ; ery < |r|,

entonces el coeciente

Cp =

Cp

se puede escribir como:

|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 (Te ). Segn estas grcas,
en ambos casos el

Te

es igual a 1.

Veamos un ejemplo. Analicemos la propagacin de errores del algoritmo inestable ya visto

1
10 yn1 ,
n

yn =
pero limitndonos a la tercera iteracin, con

y0 = ln(1, 1).

Podemos ver lo laborioso que resulta el armado de la grca, an cuando lo hemos


limitado hasta obtener el valor
Supongamos que

y0

y3 .

no tiene error (Ey0

= 0)

por lo tanto

ery0 = 0.

Tambin podemos

considerar que todas las constantes no tienen errores inherentes, pues no son valores obtenidos
por clculo. En consecuencia, al no existir error inherente, lo nico que se propaga es el error de
redondeo de cada una de las operaciones. As, el desarrollo completo de la propagacin de los
errores resulta ser:

ery3

1
[100 1 + 100 3 + 100 4 5 5 5 6 + 100 6 +
y3
1
5 7 + 100 7 + 8 5 9 + 100 9 +
3
+1000 y0 (2 3 4 6 7 8 9 )] .

Si adems imponemos que

i < ,

y con esto denimos nuestra cota de error relativo,

tendremos que

ery3 =
Revisin: 11/2009

1
1
(620 + 6000 y0 ) =
[620 + 6000 ln(1, 1)] .
y3
y3
Resumen clases tericas

- 19 -

Anlisis Numrico I - Curso 008

1.7. Grca de proceso

Figura 1.5: Grca de proceso del algoritmo.

Como



1
1
10 (1 10 y0 ) ,
y3 = 10
| {z }
3
2
y1
{z
}
|
y2

el valor de

y3

podemos escribirlo como:

y3 = 95, 3333 . . . 1000 ln(1, 1).


De esta forma, tenemos que nuestro coeciente

Te =

Te

resulta ser

620 + 6000 ln(1, 1)


,
95, 3333 . . . 1000 ln(1, 1)

y si reemplazamos los valores numricos, obtenemos el siguiente coeciente de estabilidad para


el caso de

y3 :
Te 25319.

Resulta evidente que el algoritmo es inestable para cualquier valor de

y0 .

Si analizamos

el coeciente de condicin (Cp ), obtendremos lo siguiente:

Cp =
- 20 -

1000 y0
.
95, 3333 . . . 1000 ln(1, 1)
Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

Cuando reemplazamos los valores obtenemos que

Cp 4116;
y si analizamos la relacin entre

Cp

1+

Te

nos queda que

25319
Te
=1+
7, 15 > 2;
Cp
4116

lo que nos muestra que el algoritmo es inestable y, ciertamente, mal condicionado.


Vimos que la grca de proceso es bastante til para obtener ambos coecientes, pero
tambin que puede convertirse en algo muy difcil de desarrollar cuando el algoritmo con miles (o
millones) 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 estimar ambos coecientes.

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

Cp .

En el mismo sentido, el trmino de estabilidad,

Te

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:

er = Cp r + Te
y supongamos por un momento que no tenemos errores de redondeo, es decir, despreciamos

Te .

En consecuencia, lo que tendremos es:

e r = Cp r Cp =
Y con esto podemos estimar valor del

er
r

Cp . 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 perturbar como resultado exacto, con el cual vamos a calcular los errores relativos de los otros
resultados perturbados. Con cada uno de stos obtendremos diferentes
dremos diferentes

ri ,

lo que obtendremos nalmente son diferentes

que los errores de redondeo son despreciables, todos los

Cpi

Cpi .

eri .

Como adems ten-

Como hemos supuesto

deberan ser similares, con lo cual

tendremos una estimacin de la condicin del problema, es decir, estimamos un

Cp .

Con esta

estimacin podremos establecer si el problema est bien o mal condicionado.

Revisin: 11/2009

Resumen clases tericas

- 21 -

Anlisis Numrico I - Curso 008

1.8. Perturbaciones experimentales

Veamos un ejemplo. Tomemos la siguiente funcin para calcular

f (x) = x

sen(x):

x5
x7
x9
x3
+

+
,
6
120 5040 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

 


3
4

=
4


5
4

4:

x=

120


7
4

5040

362880

x1 = x (1 + 0, 001) (r1 = 0, 001),




f
(1 + 0, 001) = 0.70655
4

Perturbemos ahora x haciendo

Introduzcamos una nueva perturbacin, esta vez haciendo


calculemos


9
4

f (x2 ):
f

Ahora calculemos los dos

Cp =

= 0, 70711
y calculemos

f (x1 ):

x2 = x (1 0, 001) (r2 = 0, 001),


(1 0, 001) = 0.70766

4
Cp . Para

el primer caso tenemos:

0, 70711 0, 70655
1

= 0, 78571
0, 70711
0, 001

Para el segundo caso tenemos:

Cp =
Si calculamos el

Cp

0, 70711 0, 70766
1

= 0, 78509
0, 70711
0, 001

en forma analtica obtenemos:

f (x)
d f (x)
Cp =
=
=1
x
dx


2
4
2


4
4
24

Esto demuestra que la estimacin del


condicionado, pues

Cp < 1

5.


6
4
720

Cp


8
4
40320

cos

 
4

Cp 0, 78540

es muy buena y que el problema est bien

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:

er = Cp r + Te
Ahora consideremos como hiptesis que los errores inherentes son despreciables, por lo que podemos decir que el error relativo es:

er = Te .
El error relativo est denido como:

er =
por lo tanto podemos escribir:

y y
,
y

y y
= Te .
y

De hecho, las calculadoras poseen algoritmos de este tipo para obtener los valores de las funciones trigonomtricas y trascendentes.
- 22 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

Al calcular el valor de y con dos precisiones diferentes


y asumiendo que

t > s,

ert

t = 101t ),

ers

y yt
y ys
= Te t ; ers =
= Te s .
y
y

tenemos:

ers ert =
de donde despejamos

obtenemos los siguientes errores relativos:

ert =
Si restamos

t y s, (s = 101s

Te :

yt ys
= Te (s t ),
y

yt ys
.
y (s t )
no lo conocemos, tomamos y
t en su lugar. En consecuencia, la expresin
Te =

Como el valor de y
queda:

Te =

yt ys
.
yt (s t )

Esta expresin nos permite obtener una estimacin del


de y,

yt

ys ,

Te

calculando dos aproximaciones

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:
ys = 0, 706; yt = 0, 7071068 y yu = 0, 70710678293687. Con estos valores calculamos los Te ,
tomando como valor de referencia y
u . As, obtenemos los siguientes valores:
Tes =

0, 70710678293687 0, 706
yu ys
=
= 1, 565;
yu (s u )
0, 70710678293687 (103 1014 )

Tet =

yu yt
0, 70710678293687 0, 7071068
=
= 0, 241.
yu (t u )
0, 70710678293687 (107 1014 )

Si analizamos un poco los valores obtenidos, vemos que en el primer caso el error de
redondeo se amplica, puesto que el

Te

es mayor que 1. En cambio, en el segundo, la situacin

es muy buena porque los errores se mantienen acotados, no se amplican (Te

< 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.

1.9. Inestabilidad en los algoritmos


Como hemos dicho, uno de los objetivos 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 que no siempre es as. Veamos alguno de ellos.

Revisin: 11/2009

Resumen clases tericas

- 23 -

Anlisis Numrico I - Curso 008

1.9. Inestabilidad en los algoritmos

1.9.1. Cancelacin
En su libro, Higham presenta el siguiente caso. Supongamos que debemos hacer la siguiente operacin:

f (x) =
con

x = 1, 2 105

y con

cos(x) = c

1 cos(x)
,
x2

redondeado a 10 dgitos signicativos, con un valor de

c = 0, 9999999999;
de manera que

1 c = 0, 0000000001.
10

10
f (x) = 1,4410
10 = 0, 6944 . . .,
incorrecto pues es claro que 0 f (x) 1/2 para todo x 6= 0.
Al analizar la cota del error relativo para la resta x
= a
b,
b = b(1 + b) obtiene:
Al calcular

f (x) =

1c
se obtiene
x2

resultado evidentenente

donde

a
= a(1 + a)




x x
aa + bb
|a| + |b|

=
x
max(|a| , |b|) |a b| .
ab
La cota del error relativo de

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
resta en la operacin

x + (y z)

x >> y z > 0,

la

es inocua.

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
ejemplo es el clculo de

yn1 , que se propaga a


e usando su denicin:

medida que el valor es cada vez ms chico. Otro



1 n
f (n) = lm 1 +
,
n
n
n nito pero lo sucientemente grande. En la tabla 1.3 podemos ver los resultados para
R
n obtenidas en MS Excel
.
Como podemos observar, a medida que n aumenta, mejora la aproximacin de e. Sin
8
9
embargo, eso ocurre slo para n < 10 . Cuando n 10 la aproximacin se vuelva cada vez
15
peor, como es el caso de n = 10 . Al igual que en el ejemplo ya citado, el problema es la
1
imposibilidad de representar correctamente
n cuando n es muy grande y, en consecuencia, un
tomando
distintos

solo error de redondeo incide negativamente en el resultado obtenido.


- 24 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

1. Errores en los mtodos numricos

Tabla 1.3: Valores de

f (n)

y diferencia con

f (n)

101

2,593742460100000

102

2,704813829421530

103
104
105
106
107
108
109
1010
1011
1012
1013
1014
1015

2,716923932235590

e.

|e f (n)|
1, 24539 101
1, 34680 102
1, 35790 103
1, 35902 104
1, 35913 105
1, 35936 106
1, 34327 107
3, 01117 108
2, 23553 107
2, 24776 107
2, 24898 107
2, 41668 104
2, 17179 103
2, 17179 103
3, 16753 101

2,718145926824930
2,718268237192300
2,718280469095750
2,718281694132080
2,718281798347360
2,718282052011560
2,718282053234790
2,718282053357110
2,718523496037240
2,716110034086900
2,716110034087020
3,035035206549260

1.9.3. Aumento de la precisin


El caso anterior muestra tambin que el aumento de la precisin 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
obtenidos no tengan ningn dgito en comn. Un ejemplo tpico es el siguiente. Supongamos que
resolvemos el siguiente sistema de ecuaciones lineales:

    
x
104 2
4
1 =
.
1
1
x2
3

Si utilizamos dos precisiones diferentes para resolver el sistema, una con cuatro decimales
y otra con tres, obtenemos los siguientes vectores [x]:

x1
x2


1



0, 01
=
2


con tres decimales,

x1
x2


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
x
3
1 =
,
104 2
x2
4

la solucin que obtenemos es:

   
x1
1, 0
=
x2
2, 0
cualquiera sea la precisin utilizada y que corresponde a la solucin correcta.

Revisin: 11/2009

Resumen clases tericas

- 25 -

Anlisis Numrico I - Curso 008

1.10. Diseo de algoritmos estables

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 siguientes:
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
valornuevo

= valorviejo

+ pequea correccin

si la pequea correccin se puede calcular con muchos dgitos signicativos

6 . Muchos de los

mtodos numricos se expresan de esta forma, como por ejemplo, el mtodo de NewtonRaphson, el Mtodo de los Gradientes Conjugados para resolver sistemas de ecuaciones
lineales, etc. Un ejemplo clsico es el mtodo del renamiento iterativo de la solucin para

Ax = B ,
1 resolviendo A1 = r1 ,
x
2 = x
1 + 1 .

un sistema de ecuaciones lineales de la forma

en el que se calcula el residuo

r1 = B A
x1 ,

para luego mejorar el resultado

y con l un valor

obtenido con la iteracin

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. En su libro, Higham seala lo siguiente:

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).

Sin embargo, Higham mismo reconoce que no es necesario operar con muchos dgitos signicativos para
obtener buenos resultados utilizando este procedimiento. Vase [6]
- 26 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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 principal 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 estadsitica. 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

x=

A1 B , pero obtener la inversa de

Ax = B

si hacemos

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 los vectores y 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)

6= 0)

se denomina matriz no

singular.

Revisin: 11/2009

Resumen clases tericas

- 27 -

Anlisis Numrico I - Curso 008

2.3. Matrices triangulares

Denicin 2.3.

Una matriz

cuadrada tiene inversa, es decir, existe

A1 ,

si

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

Denicin 2.4.

del sistema

Ax = B

es cuadrada y no singular.

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

dimensiones es no singular si su rango es

de

nn

n (rango(A) = n). Si el vector B se puede escribir como


A y la matriz A es singular, entonces existen

combinacin lineal de las columnas de la matriz


innitas soluciones para el sistema.

Denicin 2.5.

Una norma vectorial en

<n

es una funcin,

k k,

de

<n

en

<,

con las siguientes

propiedades:

x <n ;

1.

kxk > 0

para todo

2.

kxk = 0

si y slo si

3.

k xk = || kxk

4.

kx + yk kxk + kyk

Denicin 2.6.
1.

x 0 (x = [0; 0; . . . ; 0]T );

para todo

<

para todo

x <n ,

y;

x; y <n .

Las normas l2 y l de un vector estn denidas por:

v
uX
u n 2
kxk2 = t
xi

(tambin llamada norma eucldea);

i=1
2.

kxk = m
ax |xi |.
1in

Denicin 2.7.

Una norma matricial sobre un conjunto de todas las matrices

funcin de valor real,

k k,

es una

denida en este conjunto y que satisface para todas las matrices

de

nn

1.

kAk > 0;

2.

kAk = 0

3.

k Ak = || kAk;

4.

kA + Bk kAk + kBk;

5.

kA Bk kAk kBk.

y todos los nmeros reales

si y slo si

nn

A 0,

es decir,

es la matriz nula;

2.3. Matrices triangulares


Una matriz triangular es aquella que slo tiene coecientes no nulos en la diagonal principal 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 convenientes 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.
- 28 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Por ejemplo, para el primer caso, una matriz U de

u11 u12 u13


0 u22 u23

0
0 u33
0
0
0
Para resolver un sistema

Ux = B

44

tiene la siguiente forma:

u14
u24

u34
u44

basta con empezar por la ltima la para obtener

x4

luego ir reemplazando este valor en las ecuaciones anteriores, es decir, hacer:

x4 =
x3 =

b4
u44
b3 u34 x4
u33

.
.
.

n
X

bi
xi =

uij xj

j=i+1

uii

Esta forma de resolver el sistema de ecuaciones lineales se denomina

sustitucin inversa.

Cuando la matriz es triangular inferior el procedimiento para resolver

x1 =
x2 =

Lx = B

es:

b1
l11
b2 l21 x1
l22

.
.
.

bi
xi =
En este caso, el mtodo se denomina

i1
X

lij xj

j=1

lii

sustitucin directa.

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
una matriz cualquiera 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 alguna de sus las por una combinacin
lineal de ella con alguna 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


utiliza el coeciente

a11

de la diagonal principal como

pivote.

ai1

se anule, es decir, se

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.

Revisin: 11/2009

Resumen clases tericas

- 29 -

Anlisis Numrico I - Curso 008

2.4. Eliminacin de Gauss y sustitucin inversa


xi .

Se aplica la sustitucin inversa para hallar los

Por ejemplo, supongamos que tenemos la siguiente matriz

B,

su vector independiente

de dimensiones

n = 4,

con

y generamos la matriz ampliada:

a11
a21
A=
a31
a41
Para obtener el vector

a12
a22
a32
a42

a13
a23
a33
a43

a14
a24
a34
a44

m21 =

a21
a11

|
|
|
|

b1
b2
.
b3
b4

debemos proceder as:

1. Fijar la primera la de la matriz;


2. Calcular el coeciente

m21 :

3. Luego calcular los coecientes

a2i

b2 :

a22 = a22 m21 a12


a23 = a23 m21 a13
a24 = a24 m21 a14
b2 = b2 m21 b1
4. Proceder de la misma forma con el resto de las las, calculando los coecientes
y los coecientes

a3i , a4i , b3

b4 ,

m31

m41

hasta obtener la primera transformacin de la matriz

ampliada:

a11
0
A=
0
0

a12
a22
a32
a42

a13
a23
a33
a43

a14
a24
a34
a44

|
|
|
|

b1
b2
;
b3
b4

5. Fijar la siguiente la (la segunda) de la matriz transformada y repetir los pasos 2 a 4,
es decir, calcular los coecientes

mkj , (m32

m42 ),

y efectuar una nueva transformacin.

Operando sucesivamente de esta forma (al calcular el coeciente

m43 ),

obtendremos nal-

mente la matriz ampliada triangulada:

a11 a12 a13


0 a23 a23
A=
0
0 a#
33
0
0
0

a14
a24
a#
34
a+
44

| b1
| b2
.

| b#
3
+
| b4

6. Con la matriz ampliada triangulada, obtenemos el vector

x por sustitucin inversa, hacien-

do:

x4 =
x3 =
x2 =
x1 =
- 30 -

b+
4
a+
44
#
b#
3 a34 x4

a#
33
b2 a23 x3 a24 x4
a22
b1 a12 x2 a13 x3 a14 x4
a11

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Entonces, la expresin general para la transformacin de las las de una matriz ampliada
es la siguiente:

aij = aij mil alj ,


para los coecientes de la matriz

A,

y:

bi = bi mil bl
para los coecientes del vector de trminos independientes (B ), con

mil =

ail
all .

Este procedimiento es muy til puesto que se conoce exactamente la cantidad de pasos
que deben efectuarse, es decir, el mtodo tiene un cantidad
a resolver cuenta con varios vectores
con la matriz

B.

nita de pasos, inclusive si el sistema

En ese caso, basta con transformarlos conjuntamente

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
ampliada con el vector

en una matriz triangular superior tenemos la siguiente cantidad de

operaciones:

n1
X
k=1

2
n2 7
[(n k) + 2 (n k) (n k + 1)] = n3 +
n.
3
2
6

A su vez, para la susticin inversa tenemos esta cantidad de operaciones:

1+

n1
X

[2 (n k) + 1] = n2 .

k=1
En consecuencia, si se suman ambos valores, tenemos que el costo de efectuar la eliminacin de Gauss es:

es decir, proporcional a

2 3 3 2 7
n + n n;
3
2
6
n3 .

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
proporcional a

1.000.000.000

1.000 1.000

insume un costo

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

Parcial

(EGPP) o

Eliminacin de Gauss con Pivoteo Total

Eliminacin de Gauss con Pivoteo

(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:

x1 + x2 x3 = 1
x1 + x2 + 4x3 = 2
2x1 x2 + 2x3 = 3.
Revisin: 11/2009

Resumen clases tericas

- 31 -

Anlisis Numrico I - Curso 008

2.4. Eliminacin de Gauss y sustitucin inversa

Armemos el sistema ampliado para aplicar el mtodo de Eliminacin de Gauss. Entonces


nos queda:

1 1 1 | 1
1 1 1 | 1
1 1
4 | 2 0 0
5 | 1 .
2 1 2 | 3
0 3 4 | 1
Como vemos, la transformacin de la matriz nos deja nulo el coeciente

a22

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
1, 2667
x1
0 3 4 | 1 x2 = 0, 0667 .

0 0
5 | 1
x3
0, 2000
El intercambio entre las las 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, 03x1 + 58, 9x2 = 59, 2


5, 31x1 6, 10x2 = 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:

m21 =

5, 31
= 177 a22 = 6, 10 177 58, 9 6, 10 10400 10400
0, 03
b2 = 47, 0 177 59, 2 47, 0 10400 10300.

As, la solucin del sistema es:

x1
x2


30, 0
=
,
0, 990

Pero si resolvemos el sistema anterior con precisin innita, el resultado que obtenemos
es:

x1
x2


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, 31x1 6, 10x2 = 47, 0


0, 03x1 + 58, 9x2 = 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:

m21 =
- 32 -

0, 03
= 0, 005649 0, 005 a22 = 58, 9 0, 005 (6, 10) 58, 9 + 0, 030 58, 9
5, 31
Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

b2 = 59, 2 0.005 47, 0 = 59, 2 0, 235 58, 9.


La solucin del sistema es:

x1
x2

 
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 computacional 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 = LU x = B

con

A = LU.

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

Revisin: 11/2009

Resumen clases tericas

partiendo que los elementos de la diagonal principal son


- 33 -

Anlisis Numrico I - Curso 008

2.5. Factorizacin LU
iguales a 1 (lii

= 1):
u11

a11

l21 u11

a21 l21 =

l31 u11

a31 l31

... ... ...


l31 u12 + l32 u22

a21
a21
=
= m21
u11
a11
a31
a31
=
=
= m31
u11
a11

a32 l32 u22 = a32 l31 u12 = a32 m31 a12 = a32
|
{z
}

a32

l32

a32

u22

a32
a22

= m32

L est compuesta por los coecientes de la diagonal principal


= 1), en tanto que los coecientes por debajo de la diagonal principal iguales a los
mij del mtodo de eliminacin de Gauss (lij = mij ). Es decir, las matrices tienen la

Como vemos, la matriz


iguales a 1 (lii
coecientes

siguiente forma:

1
0
0
...
m21
1
0
.
..

..
..
..
..
L= .
.
.
.

mn1,1 mn1,n2
1
mn1
. . . mn,n2 mn,n1

0
0

0
1

a11 a12 a13 . . . a1n


0 a a . . . a
22
23
2n

0 a33 a3n
U = 0

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

0
0 . . . 0 ann
donde los

aij

son los coecientes transformados del mtodo de Eliminacin de Gauss.

Obtenidas

U,

la solucin del sistema la obtenemos aplicando, primero, la sustitucin

directa para hallar el vector

y luego, sustitucin inversa para hallar

x.

Para el primer caso,

aplicamos el siguiente algoritmo:

y1 = b1
y2 = b2 l21 y1
.
.
.

yi = bi

i1
X

lij yj

j=1
puesto que los coecientes lii son iguales a uno (lii
Como dijimos, obtenido

= 1).
y , se aplica la sustitucin inversa para obtener el vector x solucin

del sistema. El algoritmo es:

xn =
xn1 =

yn
unn
yn1 un1,n yn
un1,n1

.
.
.

yi
xi =
- 34 -

n
X

uij xj

j=i+1

uii

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Como vemos, en ningn caso hemos modicado o transformado al vector


una vez que obtenemos las matrices

L,

B,

por lo que

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

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
Al obtener la matriz

para cada sistema con un

distinto.

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

que cumplen con:

P A = LU,
donde

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 = AT .
1

Otro tipo de matriz es la conocida como denida positiva . En este caso se debe cumplir
que:

xT Ax > 0

para todo

x 6= 0.

Es de notar que lo que se impone para que una matriz sea denida positiva es que el
escalar resultante de la operacin

xT 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.8.

Una primera submatriz principal de una matriz

es la que tiene la forma:

a11 a12 . . . a1n


a21 a22 . . . a2n

Ak =
..................
ak1 ak2 . . . akn
para alguna

1 k n.

Teorema 2.1.

Una matriz simtrica

es denida positiva si y slo si sus primeras submatrices

principales tienen determinante positivo.

Teorema 2.2.

pivoteo puede efectuarse en el

Corolario 2.2.1.
la forma

A es denida positiva si y slo si la eliminacin de Gauss sin


sistema Ax = B con todos los pivotes positivos.

La matriz simtrica

LDLT ,

A es denida positiva si y slo si A puede factorizarse en


L es una matriz triangular inferior con coecientes iguales a uno en la
(lii = 1) y D es una matriz diagonal con coecientes positivos (dii > 0).
La matriz simtrica

donde

diagonal principal

Corolario 2.2.2.

La matriz A es simtrica y denida positiva si y slo si A puede factorizarse


T
en la forma LL donde L es una matriz triangular inferior con elementos no nulos en su diagonal.

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.
Revisin: 11/2009

Resumen clases tericas

- 35 -

Anlisis Numrico I - Curso 008

2.7. Condicin de una matriz

2.6.2. Algoritmo de Cholesky


Con el ltimo corolario se puede efectuar una factorizacin de la matriz
mtodo o algoritmo de

Cholesky.

posible obtener una matriz

En efecto, si la matriz

A conocida como

es simtrica denida positiva, es

que cumpla:

SS T = A.
LU . De acuerdo
A puede ser factorizada como LDLT . Si adems es
denida positiva, entonces los coecientes de D son positivos. En consecuencia, podemos obtener

D, con lo cual tenemos A = L D DLT . As nuestra matriz A puede ser


sin problemas
Veamos como podemos obtener esta natriz a partir de la factoriziacin

con el corolario 2.2.1, la matriz simtrica

expresada como:


T
T
A = |L {zD} | DL
{z } = SS .
S

ST

Finalmente, las expresiones para obtener esta matriz

"
sii = aii

#1/2

i1
X

s2ik

k=1
con

son:

"
#
i1
X
1
sji =
aji
sjk sik ,
sii
k=1

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

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

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
es analizar lo siguiente: puesto que nuestro sistema se puede expresar como
alternativa es

x = A1 B .

Si denimos a

expresin para cada componente de

N = A1 ,

nos queda

x = N B.

Ax = B ,

una forma

Si desarrollamos esta

nos queda:

xi =

n
X

nij bj .

j=1
Armemos un algoritmo que tenga la siguiente forma:

sj
xi

= nij bj ;
n
X
=
sj .
j=1

- 36 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Analicemos los errores en cada paso. Para el primero tenemos:

esj

= bj enij + nij ebj = bj eij + nij ej


bj enij + nij ebj
=
+ j = ernij + erbj + j = erij + erj + j .
nij bj

ersj

sj :

Con el error relativo podemos recalcular el error total de

esj = bj eij + nij ej + nij bj j .


Para el segundo paso tendremos:

e xi

n
X

n
X

e sj =

j=1

erxi

n
X
esj
j=1

xi

(bj eij + nij ej ) +

j=1
n
X
k=2

n
X

nij bj j ,

j=1
n
n
n
X
(bj eij + nij ej ) X nij bj j X
+
+
k =
k .
xi
xi
j=1

j=1

k=2

Esta ltima expresin la podemos escribir tambin como:

erxi =

n
n
X
nij bj (erij + erj + j ) X
+
k .
xi
j=1

k=2

Si reordenamos los trminos tendremos:

erxi =

n
X
nij bj
j=1

xi

(erij + erj ) +

xi

j=1

De esta forma se puede decir que el error relativo de

erxi

n
X
nij bj

n
X

xi

j +

n
X

k .

k=2

es:

Cpj (erij + erj ) +

j=1

n
X

T ej j ,

j=1

con

nij bj
2nij bj
y T ej
+ 1,
xi
xi
tomamos que erij ; erj < r y que j < .
Hemos encontrado para cada xi la expresin del error relativo,
Cpj =

si

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

2 . Entonces, qu hacemos?

Ax = B con un algoritmo cualquiera y


x
. Lo que nos interesa conocer es una cota del
kx x
k
, en alguna norma, por ejemplo, la norma
kxk

Supongamos que hemos resuelto nuestro sistema


que en consecuencia hemos obtenido una solucin
error absoluto,

kx x
k,

o del error relativo,

innito.
Como, en principio, no conocemos el resultado exacto de

x,

lo que podemos hacer es

calcular lo siguiente:

R = B A
x,
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,

donde

2
Esta deduccin es interesante, pues nos muestra que tanto el Cp como el Te dependen de la matriz A, dado
que la matriz N no es otra cosa que A1 . De ah que la solucin de cualquier sistema de ecuaciones lineales
mediante la inversin de la matriz es potencialmente inestable.

Revisin: 11/2009

Resumen clases tericas

- 37 -

Anlisis Numrico I - Curso 008

2.7. Condicin de una matriz

debido a la propagacin de los errores de redondeo o de los errores inherentes y de redondeo.

R?

Qu conclusiones podemos sacar conociendo

A


Supongamos la matriz

A=

y el vector

Veamos el siguiente ejemplo.

dados a continuacin:

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:




0, 9911
0, 0126
x
1 =
; x
2 =
.
0, 4870
1, 0182

Entonces, tendremos:


R = B A
xi
Por lo tanto, tendremos que

kRk = 107 .

107
107


.

Podemos decir que el residuo es muy chico.

Sin embargo, la solucin correcta es:


x=

2
2


.
107

Es decir, el error cometido es del mismo orden de la solucin, o sea,

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
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

por s solo

x
.

Veamos. Escribamos el

residuo como:

R = B A
x = Ax A
x = A (x x
) .
es decir:

xx
= A1 R.
Elijamos cualquier norma vectorial, por ejemplo, la innita. Entonces tendremos:





kx x
k = A1 R A1 kRk .
A1 . Usualmente el error relativo
kAk
1
kBk
, tendremos
kBk kAk kxk implica que kxk

Esto nos da una cota del error absoluto en trminos de


es ms signicativo que el absoluto. Como
que:



kRk
kx x
k
kAk
A1 kRk
= kAk A1
.
kxk
kBk
kBk
Esta expresin nos permite establecer que el residuo por s mismo no nos alcanza para
estimar el error de nuestro vector solucin
tersticas de la matriz

A.

1
A

como

el error relativo de

kAk
x
no

sino que tambin debemos conocer algunas carac-

En particular, vemos que el error relativo de

A este nmero lo denominaremos


Tanto

x
,

condicin de A

1
A kAk.
cond (A) o (A)3 .

depende de

y lo expresaremos como

son nmeros reales (son normas de las matrices) por lo tanto para que
sea muy grande, el producto de

1
A kAk

debiera ser cercano a uno,

es decir:



kAk A1 = (A) > / > 1.
Si la matriz es no singular debe cumplirse que:



1 = kIk = A1 A (A),
que puede considerarse el lmite inferior, en tanto que si la matriz

(A) ,
3

es singular (no existe

A1 ),

que puede ser considerado el lmite superior. As, puede decirse que el nmero de

En este caso hemos utilizado la norma innito. Podra haberse usado la norma eucldea y obtener el cond2 (A).

- 38 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

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
pequeos desvos en el residuo

kxk = kx x
k,

del sistema est mal condicionada,

pueden llevar a grandes desvos en

entonces puede darse que

kxk >> 1,

x
,

es decir, si denimos que

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

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
respecto de nuestra solucin exacta

x,

pues tenemos que:

B A
x = Ax A
x = A (x x
) = A = R,
| {z }

y, en consecuencia, resolviendo este nuevo sistema de ecuaciones podemos obtener nuestro valor

Dado que hemos denido que

=xx
,

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
= x1 ; R1 = B Ax1 ; A1 = R1 ,
por lo que tendremos:

x
= x2 = x1 + 1 .
El paso siguiente es obtener

R2

2 ,

en forma anloga a

1 .

En consecuencia, tendremos

que

x3 = x2 + 2 = x1 + 1 + 2 = x
+ 1 + 2 .
Si generalizamos, tenemos que la solucin exacta se puede obtener con la expresin

x=x
+

n
X

i ,

i=1
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

kRk k T ol,

pero vimos que esto no asegura que el error sea pequeo. Otro crietrio, tal vez ms acertado, es
interrumpir las iteraciones o clculos cuando

kk k T ol,

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

Ai = Ri deben
Ax = B

precisin que el sistema original. Si hemos resuelto el sistema

Revisin: 11/2009

Resumen clases tericas

resolverse con mayor


en simple precisin,
- 39 -

Anlisis Numrico I - Curso 008

2.9. Errores de los mtodos directos

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

R1 = B A
x.
Si realizamos los clculos utilizando una precisin de

dgitos, podemos demostrar que

kR1 k 10t kAk k


xk .
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

segn vimos arriba, es

decir, haciendo

A1 = R1 .
Entonces, podemos escribir lo siguiente:







k1 k kx x
k = A1 R1 A1 kR1 k A1 10t kAk k
xk = 10t k
xk (A),
con lo cual podemos estimar

(A)

mediante

(A)

k1 k t
10 .
k
xk

Como hemos dicho, este mtodo permite obtener buenos resultados inclusive con matrices
mal condiciondas. Sin embargo, si

(A) >> 10t ,

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
perturbaciones que llamaremos

A y B

como el vector

tienen pequeas

respectivamente, y que nuestra solucin sea

x
. Entonces

tendremos:

(A + A)
x = B + B.
Podemos escribir que

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 = A1 B + A1 Ax.
- 40 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Si tomamos normas a ambos lados tendremos:





kxk A1 kBk + A1 kAk kxk ,
kBk kAk kxk,

y como adems tenemos que

entonces podemos dividir todo de manera de

obtener:

kxk
kAk kxk

1


A kBk A1 kAk kxk
+
,
kBk
kAk kxk
1
1
A kBk A kAk
+
.
kBk
kAk

Si multiplicamos por

kAk

tendremos que:

kxk
kxk
kxk
kxk
kxk
kxk

1
A kAk


kxk kAk

kBk + A1 kAk
kBk
kBk
1
A kAk

kBk + A1 kAk
kBk


1 kBk kAk


.
kAk A
+
kAk
{z
} kBk
|
cond(A)

Podemos ver que para que los errores de

sean pequeos no basta con que

sean pequeos (es decir, que los errores inherentes sean pequeos), sino que es necesario que el
nmero de condicin de

A (cond(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

son las perturbaciones producidas por los errores de redondeo al obtener

U.

Entonces, nuestro sistema queda como:

(A + A)(x x) = B
Ax Ax + Ax Ax = B
Ax = A(x x).
por lo tanto,

x = A1 A(x x).
Si tomamos la norma tenemos



kxk A1 kAk kx xk


kAk
A1 kAk kx xk
kAk
kAk
kxk (A) kx xk
.
kAk

Se puede demostrar que


dimensin de la matriz

kAk 1, 01(n3 + 3n2 ) kAk ,

donde

= max


k
aij
kAk

es la

es la unidad de mquina; entonces tenemos que

kxk
kxk

(A)1, 01(n3 + 3n2 ),


kx xk
kxk
Revisin: 11/2009

Resumen clases tericas

- 41 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos

y podemos denir el error total para los mtodos directos como



kxk
kBk kAk
3
2
(A)
+
+ 1, 01(n + 3n ) .
kxk
kBk
kAk
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 (aij

6= 0).

Pero existen muchos otros problemas en los cuales el sistema de ecuaciones tiene una
matriz

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 transformar 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 efectuar esto es imposible,
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

P x = P x Ax + B P x = (P A) x + B.
Si despejamos

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,
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
- 42 -

es la iteracin.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

La expresin anterior puede escribirse en forma general como

x(n+1) = T x(n) + C,
donde

T = I P 1 A

C = P 1 B.

Con esta ltima expresin podemos defnir dos tipos de mtodos iterativos: los estacionarios, aquellos en los que

no sufren modicaciones durante las iteraciones, y los no

estacionarios, aquellos en los que los valores de

dependen de la iteracin.

2.10.1. Mtodos estacionarios


Como hemos visto, los mtodos iterativos estacionarios son aquellos en los que

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:

(n+1)
x = x(n+1)

 +e
(n+1)
(n+1)
(n)
(n)
+C
x
+e
= T x +e
(n)
(n)
= T
| x {z+ C} +T e

= x

x(n+1)
(n+1)

+ T e(n)

e(n+1) = T e(n) .
De la ltima expresin podemos deducir que:

e(n+1) = T e(n) = T T e(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

kT k < 1,

y que

kT k << 1

para que la convergencia sea rpida.

Mtodo de Jacobi
El mtodo estacionario ms sencillo es el Mtodo de Jacobi. Podemos descomponer
como

A = L + D + U.

Este mtodo es el que dene

P = D,

y por lo tanto, nuestra ecuacin

quedar como:


I D1 A x(n) + D1 B


= I D1 (L + D + U ) x(n) + D1 B

x(n+1) =

1
1
(n)
1
= [I D
| {z D} D (L + U )]x + D B
I
h
i
1
= D
B (L + U )x(n) ,
donde

L, D

son:

0
0
...
0
a11 0 . . .
0
a21 0

...
0
0
, D = 0 a22 . . .

L=
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
am1 . . . am m1 0
0
0 . . . amm
Revisin: 11/2009

Resumen clases tericas

0 a12 . . .
a1m
. . . . . . . . . . . . . . . . . . . .

U =
0 . . . 0 am1 m .
0 ... 0
0
- 43 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos


En su forma tradicional este mtodo se expresa como:

bi
(n+1)

xi

i1
X

(n)

aij xj

j=1

n
X

(n)

aij xj

j=i+1

aii

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.9.

Una matriz

se denomina diagonal dominante si se cumple que

|aii |

n
X

|aij | .

j=1
j6=i

Denicin 2.10.

Una matriz

se denomina estrictamente diagonal dominante si se cumple

que

|aii | >

n
X

|aij | .

j=1
j6=i

Denicin 2.11.

Una matriz

se denomina diagonal dominante en forma irreductible si se

cumple que

|aii |

n
X

|aij | ,

j=1
j6=i
para

i = 1; 2; . . . ; n

y en al menos una la que

|akk | >

n
X

|akj | .

j=1
j6=k
El mtodo de Jacobi converge rpidamente si la matriz

A es estrictamente diagonal domiA es cualquiera

nante, como se ver ms adelante. En cambio, la convergencia es lenta si la matriz


de las otras dos. Finalmente, si la matriz

A no cumple con ninguna de las deniciones anteriores,

el mtodo de Jacobi no converge.

Mtodo de Gauss-Seidel
El mtodo de Jacobi es de convergencia muy lenta. Para mejorar esta velocidad de convergencia, imaginemos que usamos parte de los resultados ya obtenidos en el obtencin de los

xj para j < i. Este mtodo se conoce como


mtodo de Gauss-Seidel y resulta de denir P = D +L. Desarrollemos la expresin nal sabiendo
(n+1) = P x(n) Ax(n) + B :
que P x
siguientes, es decir, obtener el

xi

aprovechando los

(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 U x(n)
(n+1)
Dx(n+1) = B Lx
U x(n)
h

i
x(n+1) = D1 B Lx(n+1) U x(n) .

- 44 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

En su forma tradicional el mtodo se escribe de la siguiente manera:

bi
(n+1)

xi

i1
X

(n+1)
aij xj

n
X

j=1

(n)

aij xj

j=i+1

aii

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 siempre se cumple.

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 expresin general

P x(n+1) = P x(n) Ax(n) + B .

Si reordenamos un poco la expresin tenemos:

P x(n+1) = P x(n) + |B {z
Ax(n)} = P x(n) + R(n) ,
R(n)

que podemos escribir tambin como

1
(n)
1 (n)
(n)
1 (n)
x(n+1) = P
| {z P} x + P R = x + P R .
I

P que nos mejore la velocidad de convergencia. Supongamos,


1
entonces, que tomamos P = L +
D. Si partimos de la expresin conocida tenemos que:






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




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



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



1
= B 1
Dx(n) U x(n)



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



h
i
1
1
(n)
1
(n+1)
(n)
x(n+1) = 1
D
D
x
+
D
B

Lx

U
x
| {z }
I
h
i
(n)
= (1 )x + D1 B Lx(n+1) U x(n)
La idea es buscar una matriz

(n+1)

= (1 )x(n) + xGS

Este mtodo se conoce como Mtodo de las sobrerrelajaciones sucesivas (o SOR por sus

x(n) con el x(n+1) obtenido con el mtodo de Gauss-Seidel, tomando


el coeciente . En su forma tradicional se suele escribir como:

siglas en ingls), y pondera el


como factor de ponderacin

bi
(n+1)

xi
Revisin: 11/2009

= (1 )x(n) +

i1
X

(n+1)

aij xj

j=1

n
X
j=i+1

aii

Resumen clases tericas

(n)

aij xj

.
- 45 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos

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
En efecto, si

=1

= 1.

tenemos:

bi
(n+1)

xi

i1
X

bi

n
X

(n)

aij xj

j=i+1

aii

(n+1)
aij xj

n
X

j=1

j=1

= (1 1)x(n) +
i1
X

(n+1)

aij xj

(n)

aij xj

j=i+1

aii

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

x x(n) = 0 cuando n , entonces podemos tomar


(n) < T ol, siendo T ol una valor denido
como criterios para interrumpir las iteraciones, que x x
arbitrariamente, generalmente relacionado con la precisin utilizada (). Existen varios criterios
n ,

es decir, que se debe dar que

que pueden aplicarse. Estos son:


1. Que la norma innita del vector

r(n)

sea menor a la tolerancia, esto es:



(n)
r

< T ol.

2. Que la norma innita del error absoluto entre dos soluciones sucesivas de

sea menor a la

tolerancia, es decir, que:



(n)

x x(n1)

< T ol.

3. Que la norma innita del error relativo entre dos soluciones sucesivas sea menor a la
tolerancia, o sea:

(n)

x x(n1)



< T ol.
x(n)

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.
Sin embargo, debemos recordar del anlisis de la cota de error para los mtodos directos
que


kx x
k
kRk
A1 kAk
kxk
kBk
- 46 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

expresin que puede ampliarse al caso de un mtodo iterativo como

<k+1>

x
x<k>
kx<k+1> k
<k+1>

x
x<k>
kx<k+1> k



kRk
A1 kAk
kBk
(A)

kRk
(A) T ol.
kBk

con lo cual debemos cuidarnos al momento de elegir la tolerancia cuando aplicamos un mtodo
iterativo. Queda evidente que cuando la matriz tiende a ser mal condicionada, la tolerancia debe
ser ms chica.

2.10.2. Convergencia de los mtodos estacionarios


Hemos dicho que los mtodos de Jacobi y Gauss-Seidel convergen para matrices

es-

trictamente diagonal dominantes. Los siguientes teoremas aseguran la convergencia de ambos


mtodos.

Teorema 2.3.

Si

es una matriz de

1.


1/2
kAk2 = AT A
.

2.

(A) kAk,

n n,

entonces se cumple que:

para toda norma natural.

Teorema 2.4.

Si la matriz A es estrictamente diagonal dominante, entonces con cualquier elec (k)


(0)
cin de x
, tanto el mtodo de Jacobi como el de Gauss-Seidel dan las sucesiones x
k=0
que convergen a una nica solucin del sistema

Teorema 2.5.

Si

aij 0

i 6= j ,

para cada

y si

Ax = B .
aii > 0

para cada

i = 1; 2; . . . ; n,

entonces ser

vlida una y slo una de las siguientes armaciones:


1.

0 (TG ) < (TJ ) < 1;

2.

1 < (TJ ) < (TG );

3.

(TJ ) = (TG ) = 0;

4.

(TJ ) = (TG ) = 1;

donde

TJ

es la matriz de Jacobi, y

TG

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+1) = T x(k) + C,
converge en la solucin nica de

x = Tx + C

x(k)

para cada

si y slo si

k=0

denida por

k 1,

(T ) < 1.

Este teorema nos dice que cualquier mtodo iterativo converge cuando el radio espectral
de la matriz

es menor a 1, tal como vimos al comenzar. Recordemos que la denicin del radio

espectral de una matriz

cualquiera es

(A) = max || ,
es un autovalor de A. En efecto, habamos dicho que para que cualquier mtodo iterativo
sea convergente, se deba cumplir que kT k < 1. Como (T ) kT k < 1, si los mdulos de los
autovalores de T son menores que 1, entonces los mtodo convergen a la solucin buscada.
donde

Revisin: 11/2009

Resumen clases tericas

- 47 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos

Teorema 2.7.

Si

0 < < 2,
x(0) .

es una matriz denida positiva y si

converge para cualquier eleccin del vector aproximado

entonces el mtodo SOR

Este teorema lo podemos aplicar tambin al mtodo de Gauss-Seidel. Efectivamente,


puesto que cuando

= 1,

el mtodo SOR resulta ser el de Gauss-Seidel, y como el teorema

2.7 asegura la convergencia del mtodo SOR para cualquier vector inicial cuando

0 < < 2,
A es

entonces asegura tambin la convergencia del mtodo de Gauss-Seidel cuando la matriz


denida positiva. Este teorema puede ampliarse a matrices simtricas denidas positivas.

Teorema 2.8.
y la eleccin

A es una matriz denida positiva y tridiagonal, entonces (TG ) = [(TJ )]2 < 1,
ptima de para el mtodo SOR es
Si

2
q
.
1 + 1 [(TJ )]2

TJ , es decir la matriz T del mtodo de


. Aunque se reere a una matriz tridiagonal, es posible ver que cuanto
(TJ ) ms se acerca a 1. (Si (TJ )2 es mayor que uno, entonces no hay

Este ltimo vincula los autovalores de la matriz


Jacobi, con el valor de
menor sea el valor de
un

real que haga convergente al mtodo.)

2.10.3. Mtodos no estacionarios


Vimos en el punto anterior los mtodos estacionarios, aquellos en los cuales las matrices

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 =

obtenemos:

1
I.

Si reemplazamos

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 estacionarios 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:





(i+1)


r
= B Ax(i+1) .
2

Si lo elevamos al cuadrado tenemos




2
(i+1) 2


r
= B Ax(i+1)
2
2




 2
(i+1) 2


(i)
r
= B A x + r(i)
2
2
h

iT h

i
T
r(i+1) r(i+1) = B A x(i) + r(i)
B A x(i) + r(i) .
- 48 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


Como queremos minimizar el mdulo de

2. Sistemas de Ecuaciones Lineales

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:

i

T h
2 Ar(i) B Ax(i) Ar(i) = 0
i

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

T

T
Ar(i) r(i) = Ar(i) Ar(i)
T
Ar(i) r(i)
.
i =
T
Ar(i) Ar(i)
Este coeciente

nos asegura que el residuo sea mnimo. As nuestro esquema iterativo

queda de la siguiente forma:

r(i) = B Ax(i)
T
Ar(i) r(i)
i =
T
Ar(i) Ar(i)
x(i+1) = x(i) + i r(i) .
Este mtodo es convergente si la matriz

es simtrica denida positiva

4 , pues de lo

contrario no obtendremos un mnimo. (En [10] puede verse una demostarcin de esta armacin.)
Existe un segundo algoritmo que tiene la siguiente forma:

r(0) = B Ax(0)
T
Ar(i) r(i)
i =
T
Ar(i) 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) < T ol,

pues

r(n) = 0

para

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 T
x Ax B T x + C,
2

similar a una ecuacin de segundo grado en el campo escalar, donde


vectores y

es una matriz,

son

es una constante (escalar). la siguiente gura ilustra una forma cuadrtica en dos

dimensiones.

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)
1
1
= AT x + Ax B = 0.
dx
2
2
4

Algunos autores slo exigen que la matriz A sea denida positiva.

Revisin: 11/2009

Resumen clases tericas

- 49 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos

Figura 2.1: Forma cuadrtica en dos dimensiones.

Si

es una matriz simtrica entonces

A = AT ,

y podemos escribir:

d f (x)
= Ax B = 0,
dx
que no es otra cosa que nuestro sistema de ecuaciones lineales original. Si adems

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:

f (x)
x

f (x)
d f (x)
0

= f (x) = x2

dx
..
.
f (x)
xn

El gradiente nos da una idea de la pendiente o del crecimiento de la forma cuadrtica,


que tambin podemos representar como un plano normal a dicho vector gradiente (gura 2.2).
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 0 (x),

que puede escribirse como:

f 0 (x) = B Ax.
Pero como estamos iterando, tenemos en realidad que:

f 0 (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

que optimice cada paso utilizando la


i + 1 ms cercana a la solucin exacta.

vector inicial, lo que nos interesa es obtener un coeciente


direccin ms empinada y as obtener una aproximacin
Para ello partamos de la expresin general

x(i+1) = x(i) + r(i) .


- 50 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Figura 2.2: Forma cuadrtica y plano tangente.

Para obtener el

minimizaremos la forma cuadrtica. As tenemos que:

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

r(i+1) = f 0 (x(i+1) ,

entonces tenemos:
T

r(i+1)
T

B Ax(i+1)
iT
h

B A x(i) + i r(i)
T
T


B Ax(i) r(i) i Ar(i)
T

(i)
B Ax

r(i) = 0
r(i) = 0
r(i) = 0
r(i) = 0
r

(i)

= i Ar

(i)

T

r(i)

r(i) r(i) = i r(i) Ar(i)


T

i =

r(i) r(i)
T

r(i) Ar(i)

As, nuestro nuevo algoritmo es:

r(0) = B Ax(0)
T

i =
x(i+1)

r(i) r(i)
T

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

r(i+1) = r(i) i Ar(i) .


El criterio para interrupir las iteraciones es el mismo que el aplicado para el mtodo de los
residuos mnimos.

Mtodo de los gradientes conjugados


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

Revisin: 11/2009

Resumen clases tericas

- 51 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos

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. Analicemos la
gura 2.2 ms en detalle. El gradiente lo hemos representado con 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 del Descenso Ms Rpido slo exige que los residuos sean ortogonales, 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;

(i)

(j)

= 0,

para

i 6= 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)

(i)
e(i+1)
 = 0
 d
(i)
(i)
= 0
e + i d

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


T

d(i) e(i) = i d(i) d(i)


T

i =

d(i) e(i)
T

d(i) d(i)

Sin embargo, este algoritmo no es muy til pues debemos conocer el error que estamos
cometiendo para obtener el coeciente
tendra sentido obtener el coeciente

i .

Y si conocemos

e(i+1) ,

conocemos la solucin y no

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, como lo son, un meridiano y un paralelo.
Si deformamos nuestro globo de manera que deje de ser esfrico y se convierta en un elipsoide de
revolucin, las dos lneas se cortarn, pero no sern ortogonales. Si volvemos a transformar ese
globo defomado en una esfera otra vez, dichas lneas volvern a ser ortogonales. Las direcciones
en el elipsoide se denominan conjugadas.
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 ortogonales y luego trabajar nuevamente
en el elipsoide. De esa forma, las direcciones sern ortogonales en la supercie de la esfera, y
conjugadas en el elipsoide. (Otro ejemplo en ese mismo sentido sera proyectar la esfera sobre un
plano, prctica comn de la cartografa.)
- 52 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Para obtener nuestro nuevo algoritmo, vamos a proponer que la direccin

d(i)

sea ortogo-

(i+1) , algo que surge de minimizar el gradiente pues


nal a r

dx(i+1)
df (x(i+1) )
= f 0 (x(i+1) )T
= f 0 (x(i+1) )T d(i) = 0;
| {z }
d
d
r(i+1)

y podemos plantear lo siguiente:

d(i) r(i+1) = 0
T

d(i)

(i)
Ae(i+1)
d
 = 0
(i)
(i)
A e + i d
= 0

d(i) Ae(i) + i d(i) Ad(i) = 0


T

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


T

i =

d(i) Ad(i)
T
d(i) r(i)
.
T
d(i) Ad(i)

i =
Con este coeciente

d(i) Ae(i)

nos aseguramos que nuestro mtodo va aproximando la solucin

mediante direcciones 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
X

ij Ad(j) ,

j=0
y el coeciente

ij

lo obtenemos mediante:

ij =
siendo

u(i)

u(i) Ad(j)
T

d(j) Ad(j)

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) r(i) = r(i) r(i) ,


y entonces, obtendremos lo siguiente:

ij =
Ahora vamos a obtener el

ij

r(i) Ad(j)
T

d(j) Ad(j)

para poder encontrar nuestras direcciones conjugadas. As,

tenemos que:

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


T

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


1
T

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

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

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

j+1 j
Revisin: 11/2009

1 r(j+1) r(j+1)
j d(j) T Ad(j)

Resumen clases tericas

- 53 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos


Antes hemos obtenido que:

j =

d(j) r(j)
T

d(j) Ad(j)

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

por lo tanto, nalmente tendremos que:

j+1 j =

d(j) Ad(j) r(j+1) r(j+1)

pues hemos visto que

d(j) r(j)

d(j) Ad(j)

d(j) r(j) = r(j) r(j) .

r(j+1) r(j+1)

d(j) r(j)

r(j+1) r(j+1)
T

r(j) r(j)

Simplicando la notacin tenemos:

j+1 =

r(j+1) r(j+1)
T

r(j) r(j)

Con este ltimo coeciente, y unicando todo en el ndice

i,

tenemos el algoritmo para

el Mtodo de los Gradientes Conjugados :

d(0) = r(0) = B Ax(0)


T

i =
x(i+1)

r(i) r(i)
T

d(i) Ad(i)
= x(i) + i d(i)

r(i+1) = r(i) i Ad(i)


T

i+1 =
d(i+1)

r(i+1) r(i+1)
T

r(i) r(i)
(i+1)
= r
+ i+1 d(i) .

Este mtodo es muy poderoso y converge muy rpidamente, salvo por la aparicin de
los errores de redondeo en las operaciones, lo que hace que no siempre el producto interno sea
nulo. Ms adelante se vern algunas caractersticas sobre la convergencia que lo convierten en
uno de los mtodos iterativos para sistemas de ecuaciones lineales ralos con matrices simtricas
denidas positivas.

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
entonces el vector

r(i+1)

A + AT
2


; = kAk2 ,

generado por el mtodo de los residuos mnimos satisface la relacin


1/2


2
(i+1)
(i)
r
1 2
r ,

2
2
y el algoritmo correspondiente converge para cualquier valor inicial de

x(0) .

La demostracin de este teorema puede verse en [9].


- 54 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Mtodo del descenso ms rpido


Para el anlisis de la convergencia de este mtodo (y el de los gradientes conjugados) nos
basaremos en el estudio de los autovalores y autovectores de la matrioz

A.

(i) sea un autovector asociado a un autovalor


Supongamos que el vector e

e .

Entonces el

residuo se puede escribir como:

r(i) = Ae(i) = e e(i) ,


por lo tanto, es tambin un autovector.
De la misma forma podemos obtener

e(i+1) ,

pues es:

e(i+1) = e(i) +
= e(i) +

r(i) r(i)
T
r(i)

T
r(i)

Ar(i)

r(i)

r(i) 
T

e r(i) 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,

(i)

n
X

j v (j) ,

j=1
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
X

j j v (j)

j=1

2
X
T
(i)
j 2
e = e(i) e(i) =
j

X
X
T
=
j v (j)
j j v (j)

e(i) Ae(i)

j
2

j j

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

(i) T

Ar(i) =

j 2 j 3

r(i) tambin se puede


es j j . Si volvemos a

Esta ltima expresin la obtenemos al tener en cuenta que el


expresar como la combinacin lineal de autovectores, y que su longitud
la expresin del vector

e(i+1)

tenemos:

(i+1)

(i)

= e

r(i) r(i)
T

r(i) Ar(i)
X
j 2 j 2
j

= e(i) + X

j j

r(i)

r(i) ,

Revisin: 11/2009

Resumen clases tericas

- 55 -

Anlisis Numrico I - Curso 008

2.10. Mtodos iterativos


que nos muestra que

es un promedio ponderado de

1
.
j

Para analizar la convergencia en forma ms general vamos a denir primero la norma

energtica

kekA = eT Ae



(i+1) 2
e

1/2

. Con esta norma tenemos:

= e(i+1) Ae(i+1)
 T
 

T
=
e(i) + i r(i) A e(i) + i r(i)
T

= e(i) Ae(i) + 2i r(i) Ae(i) + i 2 r(i) Ar(i)


"
#2
2
i
(i) T r (i)
(i) T r (i) h
r
r
T
T

= e(i) + 2
r(i) r(i) +
r(i) Ar(i)
T
T
A
r(i) Ar(i)
r(i) Ar(i)
h T
i2
2
r(i) r(i)
(i)
= e
(i) T Ar (i)
A
r
X
2
2 2
2

j j

X
= e(i) 1 X

2
3
2
A
j j
j j
X
2
2 2
2

j
j

X
= e(i) 2 con 2 = 1 X
A
j2 3j
j2 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

1
,
+1

se puede demostrar que

con lo cual tenemos que





1 i
(i)
(0)
e
e .
+1
A
A
(La demostracin indicada se puede ver en [11].)

Mtodo de los gradientes conjugados


Para el mtodo de los gradientes conjugados vale el mismo desarrollo hecho para el
descenso ms rpido, pero con una leve modicacin se llega a que

i



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

Puesto que

es equivalente a la condicin de

,
A,

mientras que en el segundo depende de


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

precondiciona a la matriz
T
tal que

- 56 -

M A

Ax = B , sino que se
= M T B de manera

T
con una matriz M , formando el sistema M Ax

suele tener un nmero de condicin mucho menor que

Resumen clases tericas

A.
Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

Por otra parte, si la matriz est bien condicionada, el mtodo de los gradientes conjugados

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
converge luego de

de autovalores no repetidos de A. (Ver en [9] y [11].)

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


, valor que no es fcil de obtener en forma analtica.

velocidad de convergencia depende de

Obtener ese valor puede llevar a perder parte de esa ventaja.


4.

Mtodo de los residuos mnimos:

Converge si la matriz

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 condicionada, no converge. Es ms fcil de programar que el anterior porque reduce la cantidad de
operaciones matriciales. Es equivalente a Gauss-Seidel.

6.

Mtodo de los gradientes conjugados: Se aplica a matrices simtricas denidas positivas. Cuando la matriz est bien condicionada y adems tiene
distribuidos, converge para

k =np

p autovalores repetidos y bien

iteraciones (convergencia supralineal). Por este mo-

tivo, 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 estacionarios, pues son conceptualmente ms fciles de entender. Empezaremos por el error de truncamiento.
Supongamos que
luego de

k+1

sea la solucin de nuestro sistema de ecuaciones y

x(k+1)

el resultado

iteraciones. Entonces podemos denir el error como



x(k+1) x = T x(k) x .
Revisin: 11/2009

Resumen clases tericas

- 57 -

Anlisis Numrico I - Curso 008

2.11. Errores de los mtodos iterativos


Si sumamos y restamos

T x(k+1)

tenemos



x(k+1) x = T x(k) x + T x(k+1) T x(k+1)




= T x(k) x(k+1) + T x(k+1) x .
Si tomamos las normas tenemos que







(k+1)





x kT k x(k+1) x(k) + kT k x(k+1) x
x




(k+1)

(k+1)
(k)
(1 kT k) x
x kT k x
x




kT k

(k+1)
(k+1)

x(k) .
x
x
x
(1 kT k)
Por lo tanto, el error de truncamiento est dado por

ET
=



kT k

(k+1)
x(k) .
x
(1 kT k)

Para el caso del error inherente partimos de

x(k+1) = T x(k) + C.
Si consideramos los errores inherentes del sistema, el resultado que obtendremos ser en
realidad
que

x(k)

x
(k+1) .
x
(k) ,

Supongamos que desechamos todos los errores de los pasos anteriores, es decir,
entonces tenemos que

x
(k+1) = x(k) x(k) = (T T )x(k) + (C C).
Como

x = T x + C,

podemos hacer lo siguiente:

x
(k+1) x = (T T )x(k) + (C C) T x C


= T x(k) x T x(k) C


= T x(k) x T x(k) C + T x(k+1) T x(k+1)




= T x(k+1)x + T x(k) x(k+1) T x(k) C.
Si nuevamente tomamos las normas, obtenemos









(k+1)







x kT k x(k+1) x + kT k x(k+1) x(k) + kT k x(k) + kCk
x












(1 kT k) x(k+1) x kT k x(k+1) x(k) + kT k x(k) + kCk




kT k
kT k
kCk
(k+1)

(k+1)

(k)
x
x(k) +
.
x
x
x +
1 kT k
1 kT k
1 kT k
Si analizamos en detalle esta ltima expresin, vemos que se repite el error de truncamiento (primer trmino de la derecha). En consecuencia, el error inherente est dado por

EI
=


kT k
kCk
(k)
.
x +
1 kT k
1 kT k

Finalmente, analicemos el error de redondeo. Una vez ms, partamos de la expresin

x(k+1) = T x(k) + C,
- 58 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

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) = T x(k) + C.
Para cada componente de

(k+1)

xi

x(k+1)

tenemos

n
X
(k)
= 
tij x + ci (1 i ) .

(k+1)

xi

j=1
Si hacemos un anlisis retrospectivo del error (backward error), y asumimos que

0, 01,

nos queda que

(k+1)

xi

X
(k)
(k+1)
=
tij x 1, 01(n + 2 j)j (1 + i ) + x
i ,
j

j
con

|j | 1

|i | .

Consideremos ahora el hecho de que generalmente las matrices de los sistemas son ralas.
Entonces podemos denir que

p =
q =

m
ax {pi },

1in

con

pi :

cantidad de elementos no nulos en una la.

m
ax {|tij |},

1i,jn

entonces, si tomamos normas nos queda

p






X
(k+1)


(k+1)
xi
q x(k) 1, 01 (p + 2 j) + xi
,
j=1
y como

x(k) x(k+1) ,

podemos escribir que



(k+1) 

xi

p2 + 3p

q 1, 01
.
+
1
x(k)
2
Ahora estimemos la diferencia

x
(k+1) x.

Sabemos que

x
(k+1) = T x(k) + C x(k+1) ,
entonces

x
(k+1) x = T x(k) + C  x(k+1) T x C
= T x(k) x x(k+1) .
T x(k+1) , obtenemos




x
(k+1) x = T x(k) x
(k+1) + T x
(k+1) x x(k+1) .

Si nuevamente sumamos y restamos

Una vez ms, tomemos las normas, con lo cual nos queda








(k+1)



(k+1)

x = kT k x(k+1) x
(k) + kT k x

x + x(k+1)
x





(k+1)




(1 kT k) x

x = kT k x(k+1) x
(k) + x(k+1) +




x(k+1)
kT k
(k+1)

(k+1)
(k)

x =
+x

x
x
1 kT k
1 kT k
Revisin: 11/2009

Resumen clases tericas

- 59 -

Anlisis Numrico I - Curso 008

2.12. Notas nales


Puesto que





(k+1)
p2 +3p
q 1, 01 2 + 1 x(k) y como el primer trmino corresponde
xi

al error de truncamiento, nos queda que

(k) 

x
p2 + 3p
q 1, 01
ER
+ 1 .
1 kT k
2
Finalmente, el error total al aplicar un mtodo iterativo estacionario es la suma de todos
los errores, es decir,



(k+1)

x ET + EI + ER
x



kT k
kT k
kCk
(k+1)
(k)
(k)

+
x

x
x

+


(1 kT k)
1 kT k
1 kT k
(k) 

x
p2 + 3p
+
q 1, 01
+1
1 kT k
2







1




(k+1)

kT k x(k+1) x(k) + kT k x(k) + kCk
x
x
1 kT k
 


p2 + 3p
(k)
+ x q 1, 01
+1 .
2
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

ER < ET < EI ,
despreciable

5.

es decir, que el error de redondeo sea el de menor incidencia, y si es posible,

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 (un equivalente a los autovalores para matrices no cuadradas), 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 de los gradientes biconjugados y el de los gradientes conjugados cuadrtico, el mtodo
por iteraciones de Chebichev, ms otros derivados fundamentalmente a partir del mtodo de los
gradientes conjugados y de los residuos mnimos.
La existencia de varios mtodos reeja que la eleccin de uno en particular 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
elementos nitos, han 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,
simtricas y denidas positivas. Ejemplo de esto es el anlisis estructural en tres dimensiones,
que modela las piezas a dimensionar o vericar, en los cuales los programas generan sistemas

5
Gonzlez, en su libro, dice que ET < ER 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.)
- 60 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

2. Sistemas de Ecuaciones Lineales

de ecuaciones lineales con las cractersticas antes mencionadas, por aplicacin del Mtodo de los

Elementos Finitos.
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.

Revisin: 11/2009

Resumen clases tericas

- 61 -

2.12. Notas nales

- 62 -

Anlisis Numrico I - Curso 008

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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

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 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

a0 + a1 x + a2 x2 + a3 x3 = 0,

donde

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 (raz) que sea 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, el clculo
de la longitud de onda de una ola martima en aguas intermedias (entre aguas poco profundas,
cerca de la costa, y aguas profundas). La expresin para esto es:


L = L0 tanh
donde

L0


2
x ,
L

es la longitud de onda en aguas profundas (x

L
)
2

es la profundidad del mar.

L
L
x . Como podemos ver, esta ecuacin no tiene solucin
20
2
algebraica, y, en consecuencia, el nico modo de obtenerla es mediante un mtodo iterativo. (En

 2
2
2
L
L

realidad, cuando x >


, tanh
x
1
, y L = L0 , y cuando x <
, tanh
x
=
= L x y por lo
2
L
20
L

tanto L =
2L0 x.)
Esta expresin es vlida para

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

existir un nmero

en

(a; b)

f (a)

f (b),

es diferenciable en

(a; b),

entonces

tal que

f 0 (c) =

Teorema 3.2.

f C[a; b]

f (b) f (a)
.
ba
f C[a; b] y M es un nmero cualquiera entre
el cual f (c) = M .

(Teorema del valor intermedio.) Si

existir un nmero

Revisin: 11/2009

en

(a; b)

para

Resumen clases tericas

- 63 -

Anlisis Numrico I - Curso 008

3.2. Mtodo de la biseccin

3.2. Mtodo de la biseccin


f (x) y debemos hallar el valor de x
, tal
(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
Supongamos que tenemos una funcin cualquiera

que

f (
x) = 0.

Asumamos que

est incluido en el intervalo

del intervalo, es decir,

ba
b+a
=
.
2
2
vericar que f (x1 ) = 0.

x1 = a +
Para saber si es o no solucin debemos

Si no lo es, debemos volver a

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
obtener una aproximacin mediante un esquema similar. Para ello, veriquemos que

mismo mtodo usado antes, nuestra nueva aproximacin es

x2 =

x1 + a
=
2

b+a
2

+a
b+a a
=
+ ,
2
4
2

que tambin puede escribirse como

x2 = x1
Nuevamente vericamos si

f (x2 ) = 0.

ba
.
4

Si seguimos iterando hasta obtener

xn = xn1

xn ,

tenemos que

ba
,
2n

por lo que tambin podemos decir que

|
x xn |

ba
.
2n

Las guras 3.1.(a), 3.1.(b) y 3.1.(c) muestran el proceso de aproximacin del mtodo de
la biseccin, reduciendo el intervalo.

Figura 3.1: Aproximaciones de la raz por el mtodo de la biseccin.


Si queremos hallar el valor exacto de
si establecemos una tolerancia de modo que

x
deberamos iterar hasta que |
x xn | = 0. Pero
|
x xn | < , entonces tendremos que la cantidad

aproximada de iteraciones para obtener este resultado es

|
x xn |
ba
2n

<

n >
- 64 -

ba
<
2n


ln ba

.
ln(2)

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

3. Ecuaciones no Lineales

Por ejemplo, si nuestra tolerancia la expresamos como


la biseccin converja se necesitarn

ln(10t )

ln(b a)
n>
ln(2)

= 10t ,

para que el mtodo de

iteraciones. Si lo desarrollamos un

poco ms, tenemos:

n >
n >

ln(b a)
ln(10)
+t
ln(2)
ln(2)
1
[ln(b a) + t ln(10)] ,
ln(2)

y podemos escribir que

1
[ln(b a) + t 2, 30]
0, 69
n > 1, 44 ln(b a) + 3, 32 t,

n >

con lo cual la cantidad de iteraciones depende mucho ms de la tolerancia que del intervalo.
Si en vez del error absoluto usamos el error relativo como criterio de interrupcin, la
cantidad de interaciones queda:

|
x xn |
|
x|
ba
2n |
x|

ba
<
2n |
x|

<


n >

Si consideramos que

ba
,
2
ln

n >

n >
si

=
n >
n >


ba
ln
|
x|
.
ln(2)

entonces nos queda:

ba
ba
2

;
ln(2)
 
2
ln

;
ln(2)
10t ;


2
ln
10t = ln(2) + t ln(10)
;
ln(2)
ln(2)
ln(10)
1+t
.
ln(2)

es decir, incide poco el intervalo, siempre que el mismo sea pequeo o sus extremos no estn muy
alejados del valor exacto.
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 (xk1 ) f (xk ) < 0,

mientras se est iterando.

Hemos estimado cuantas iteraciones son necesarias para encontrar una solucin aceptable a partir
del error absoluto, pero en realidad los criterios para detener el procedimiento pueden ser los

Revisin: 11/2009

Resumen clases tericas

- 65 -

Anlisis Numrico I - Curso 008

3.3. Mtodo de la falsa posicin o regula falsi


siguientes:

|xn xn1 | ,
|xn xn1 |
,
|xn |
|f (xn | .
donde

es la tolerancia que ya mencionamos.

Cualquiera de los tres criterios es bueno para detener el proceso, pero el segundo es el
ms efectivo, pues se basa en el error relativo, y nos da una idea aproximada de la cantidad
de cifras o dgitos signicativos que tiene el resultado obtenido, pero a costa de hacer todava
mucho ms lenta la convergencia, por lo ya visto al estimar
conable, pues por denicin

f (xn )

n.

En cambio, el ltimo es el menos

tiende a cero, con lo cual siempre es pequeo.

Si bien no tiene problemas por la convergencia, hemos visto que el mtodo resulta muy
lento para alcanzar 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 como nico mtodo para alcanzar la solucin.

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

f (a) y f (b) de la funcin dada e ir reduciendo el intervalo hasta obtener el


x
tal que f (
x) = 0. Al igual que para el mtodo de la biseccin, debemos empezar por
x1 . Existen dos mtodos equivalentes para obtenerlo:

que une los puntos


valor de
calcular

f (a) (b a)
,
f (b) f (a)
f (b) (b a)
= b
.
f (b) f (a)

x1 = a
x1

La forma de aplicar el mtodo es la siguiente. Utilicemos la primera expresin para obtener

x1 ;

entonces veriquemos que

f (x1 ) f (a) < 0.

Si esto es cierto, para obtener nuestra segunda

aproximacin tendremos la siguiente expresin:

x2 = a

f (a) (x1 a)
,
f (x1 ) f (a)

caso contrario, nos queda esta otra expresin:

x2 = x1

f (x1 ) (b x1 )
.
f (b) f (x1 )

Algo similar ocurre si partimos de la segunda. Si

x2 = b

f (x1 ) f (b) < 0,

nos queda

f (b) (b x1 )
,
f (b) f (x1 )

y si no

x2 = x1

f (x1 ) (x1 a)
.
f (x1 ) 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 (guras 3.2.(a), 3.2.(b)
y 3.2.(c) ). Un punto importante a tener en cuenta es que al igual que en el mtodo de la biseccin,
los sucesivos

xk

se encuentran siempre en el intervalo de anlisis (el intervalo

lo tanto, en el intervalo

[a; b]

[xk2 ; xk1 ])y,

por

inicial. Y anlogamente al mtodo de la biseccin, es posible que

desprecie soluciones ms precisas obtenidas en pasos intermedios.


- 66 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

3. Ecuaciones no Lineales

Figura 3.2: Aproximaciones de la raz por el mtodo de la Regula Falsi.

3.4. Mtodo de las aproximaciones sucesivas o punto jo


Puesto que los mtodos anteriores no tienen una convergencia rpida, no son muy prcticos 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.
Es evidente que podemos despejar

de esta ecuacin sin problemas, por lo que nalmente nos

queda:

x = g(x),
g(x).

es decir, nuestro problema se resume a encontrar una funcin

Como estamos resolvindolo

en forma iterativa, la expresin que nos queda es:

xk+1 = g(xk ),
k = 1; 2; . . . ; n.
ejemplo x0 , luego de
para

El esquema entonces es sencillo: partiendo de una solucin inicial, por


efectuar

iteraciones tendremos nuestra solucin aproximada

xn ,

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

e0,1x + ln(x) = 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
funcin

(1, 5; 2, 5). Para ello, propongamos la siguiente

g(x):
G1 (x) = x e0,1x + ln(x),

y resolvamos en forma iterativa tomando

x0 = 2.

Calculemos

G1 (x0 )

y obtengamos

x1 ,

luego

x2

y as sucesivamente:

x1 = G1 (x0 ) = 2 e0,12 + ln(2) = 1, 874


x2 = G1 (x1 ) = 1, 874 e0,11,874 + ln(1, 874) = 1, 674
x3 = G1 (x2 ) = 1, 674 e0,11,674 + ln(1, 674) = 1, 343.
La gura 3.3 muestra la progresin de las interaciones.
Es fcil notar que tenemos un problema. Como dijimos, la raz buscada se encuentra en
el intervalo

(1, 5; 2, 5),
G1 (x) no

esta funcin

Revisin: 11/2009

pero el ltimo resultado nos dio fuera de dicho intervalo. Evidentemente,


nos sirve.

Resumen clases tericas

- 67 -

Anlisis Numrico I - Curso 008

3.4. Mtodo de las aproximaciones sucesivas o punto jo

Figura 3.3: Mtodo de las aproximaciones sucesivas con la funcin

G1 (x).

Cambiemos la funcin y volvamos a intentarlo. Probemos con la siguiente funcin:


0,1x

G(x) = ee
Esta vez iniciemos el proceso con

x3 = 2, 231,
calculando f (x10 ):

siguiente resultado:
correcto

x0 = 1, 5.

En este caso al hacer tres iteraciones obtenemos el

valor que est dentro del intervalo. Veriquemos si este valor es

f (2, 231) = e0,12,231 + ln(2, 231) = 0, 0023.


La gura 3.4 muestra la progresin de las interaciones para esta ltima funcin.

Figura 3.4: Mtodo de las aproximaciones sucesivas con la funcin

G(x).

Este valor puede considerarse cercano cero y por lo tanto, hemos podido encontrar la raz
buscada. (La raz de esta funcin es

x = 2, 226.)

Pero por qu fallamos al usar la primera funcin? Para entender esto veamos los siguientes teoremas.

Teorema 3.3.
jo en

Si

g(x) C(a; b) y g(x) [a; b] para todo x [a; b], entonces g(x) tiene un punto

Si

g 0 (x)

[a; b].

Teorema 3.4.

entonces, el punto jo en en


- 68 -

[a; b], y existe una constante m < 1,


0
g (x) m, para toda x [a; b],

existe en

[a; b]

tal que

es nico.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

3. Ecuaciones no Lineales

La demostracin de estos teoremas puede verse en [1].


Estos teoremas son sucientes pero no necesarios, es decir, pueden no cumplirse y existir
dicho punto, tal como vimos en el ejemplo anterior. La funcin

g1 (x) no cumple con los teoremas

antes expuestos, sin embargo el punto jo existe .

g1 (x)

Si miramos la funcin

rpidamente notamos que la funcin

g1 (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

|g10 (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

g2 (x)

puesto que

g2 (0, 5) = 1, 476 [0, 5; 1, 5]

0, 932 < 1, con lo cual el punto jo es nico.


funciones g para varios puntos del intervalo,

|g20 (0, 5)| = |0, 932| =

En realidad, deberamos haber vericado ambas


pero al comprobar que el punto de partida no

cumple con las condiciones de ambos teoremas (funcin

g1 (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,

|xn xn1 | ,
|xn xn1 |
,
|xn |
|f (xn | .
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.
[a; b]

y que una

g(x) C[a; b] tal que g(x) [a; b] para toda x


constante k < 1 cuando
0
g (x) k, para toda x (a; b).
Sea

Entonces, para cualquier nmero

x0 [a; b],

en

[a; b],

que existe

g 0 (x)

en

la sucesin denida por

xn = g(xn1 ), n 1,
converge en el nico punto jo

Demostracin

en

[a; b]

[a; b]. Como g(x) mapea


xn [a; b] para todo n. Dado

El teorema 3.5 implica que existe un punto jo en

[a; b] en s mismo, la sucesin {xn }


n=0 se dene para todo n 0 y
0
que |g (x)| k , si aplicamos el teorema del valor medio, tenemos



| k |xn1 x
| ,
|xn x
| = |g(xn1 ) g(
x)| = g 0 () |xn1 x
donde

(a; b).

En forma inductiva obtenemos

|xn x
| k |xn1 x
| k 2 |xn2 x
| . . . k n |x0 x
| .
Como

k < 1,

entonces

lm |xn x
| lm k n |x0 x
| = 0,

y la sucesin {xn }n=0 converge a

Corolario 3.5.1.
xn

Si

para aproximar

x
.

g satisface las hiptesis de teorema 3.5, las cotas de error que supone utilizar
estn dadas por

|xn x
| k n max{x0 a; b x0 },
y por

|xn x
|
1

kn
|x1 x0 | ,
1k

para toda

n 1.

Para x = 1 se tiene g1 (x) = 1, por lo tanto, el punto jo existe.

Revisin: 11/2009

Resumen clases tericas

- 69 -

Anlisis Numrico I - Curso 008

3.5. Mtodo de Newton-Raphson

Demostracin

La primera cota viene de:

|xn x
| k n |xo x
| k n max{x0 a; b x0 },
porque

x (a; b).
x 1,

Con

la demostracin del teorema 3.5 implica que

|xn+1 x
| = |g(xn ) g(xn1 )| |xn xn1 | . . . k n |x1 x0 | .
En consecuencia, cuando

m > n 1,

|xm xn | = |xm xm1 + xm1 xm2 + . . . + xn+1 xn |


|xm xm1 | + |xm1 xm2 | + . . . + |xn+1 xn |
k m1 |x1 x0 | + k m2 |x1 x0 | + . . . + k n |x1 x0 |

= k n 1 + k + k 2 + . . . + k mn1 |x1 x0 | .
Por el mismo teorema, tenemos que

lmn xm = x
,

|
x xn | = lm k n |x1 x0 |
n

Pero
a

1
,
1k

ki .

i=0

i
i=0 k es una serie geomtrica con razn

k . Como 0 < k < 1, esta sucesin converge

por lo que nos queda que

|
x xn |
Podemos ver que como

g(x).

por lo tanto

Cuanto ms chico sea

k,

|g 0 (x)| k ,

kn
|x1 x0 | .
1k

la convergencia depende de la primera derivada de

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, que
pase por un punto. Supongamos que para el mismo intervalo
por

f (b).

[a; b] trazamos la tangente que pasa

La ecuacin de la recta tangente ser

t(x) = f 0 (b)(x b) + f (b).


f (x) = 0 se debar cumplir que t(x) = 0. Por lo tanto podramos
t(x1 ) = 0 para ir aproximando nuestra raz. As obtenemos

Cuando se cumpla que


haller un valor

x1

tal que

t(x1 ) = 0 = f 0 (b)(x1 b) + f (b)


f (b)
x1 = b 0 .
f (b)
Si

f (x1 ) 6= 0, podemos repetir el procedimiento otra vez para obtener un x2 . En denitiva,

podemos crear una aproximacin iterativa de la siguiente forma:

xn = xn1

f (xn1 )
.
f 0 (xn1 )

La gura 3.5 muestra la aproximacin de la raz por este mtodo.


- 70 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

3. Ecuaciones no Lineales

Figura 3.5: Mtodo de Newton-Raphson.

f (x) C2 [a, b],


6= 0 y |
xx
| sea pequeo.
alrededor de x,

Existe forma de deducirlo a travs de la serie de Taylor. Supongamos que


y sea

una aproximacin de

tal que

f (
x) =

0. Tambin que f 0 (
x)
f (
x)

Desarrollemos el primer polinomio de Taylor para

expandida

f (x) = f (
x) + f 0 (
x)(x x
) + f 00 ((x))
donde

(x)

est entre

x
.

f (
x) = 0,

Puesto que

entonces para

0 = f (
x) + f 0 (
x)(
xx
) + f 00 ((
x))
Al suponer que

|
xx
|

(x x
)2
,
2

es pequeo, podemos despreciar

x=x

tenemos

(
xx
)2
.
2

(
xx
)2 ,

con lo que nos queda

0 = f (
x) + f 0 (
x)(
xx
),
y despejando

de la ecuacin nos queda

x
=x

Y si en lugar de aproximar con

f (
x)
.
0
f (
x)

lo hacemos con

x0 ,

entonces generamos una sucesin

{xn }

denida por

xn = xn1

f (xn1 )
,
f 0 (xn1 )

que es la misma expresin que ya vimos.


De este desarrollo podemos ver que el error cometido es proporcional a

f 00 (x

n ) (puesto que cuando

xn x

podemos suponer que

(xn ) xn ).

(
x xn )2

o a

De ah que podemos

aplicar los mismos criterios de interrupcin que en los otros mtodos.


Tambin podemos observar que si no elegimos un

x0

lo sucientemente cerca, el mtodo

puede no converger. Para esto tenemos el siguiente teorema.

Teorema 3.6.
un

>0

Sea

2 [a; b]; si

x
[a; b]

es tal que

tal que el mtodo de Newton-Raphson genera una

para cualquier aproximacin inicial

Revisin: 11/2009

f 0 (
x) 6= 0, entonces existe

sucesin {xn }n=1 que converge a x

f (
x) = 0

x0 [
x ; x
+ ].
Resumen clases tericas

- 71 -

Anlisis Numrico I - Curso 008

3.5. Mtodo de Newton-Raphson

Demostracin

La demostracin se basa en analizar el mtodo de Newton-Raphson como si

fuera el mtodo de las aproximaciones sucesivas, tomando que

g(x) = x
Entonces, sea

un nmero cualquiera en

xn = g(xn1 ), n 1,

y que

f (x)
.
f 0 (x)

(0; 1).

En primer lugar debemos encontrar un

[
x ; x
+] que g mapee en s mismo y en el que |g 0 (x)| k para toda x [
x ; x
+].
0 x) 6= 0 y f 0 (
Como f (
x) es continua, existe 1 > 0 tal que f 0 (x) 6= 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
intervalo

que

g 0 (x) = 1
para

x [
x 1 ; x
+ 1 ]

f 0 (x)f 0 (x) f (x)f 00 (x)


f (x)f 00 (x)
=
,
[f 0 (x)]2
[f 0 (x)]2

f C2 [a; b], tendremos


que f (
x) = 0, entonces

y como

Como hemos supuesto

g 0 (
x) =
Adems

g0

es continua y

que

g C1 [a; b].

f (
x)f 00 (
x)
= 0.
0
2
[f (
x)]

0 < k < 1, entonces existe un ,


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

es tal que

tal que

0 < < 1 ,

g : [
x ; x
+ ] [
x ; x
+ ]. Si x x
; x
+ ].
que existe un nmero entre x y x
para el que se cumple
0
| .
|g(x) g(
x)| = g () |x x

Nos falta todava demostrar que


teorema del valor medio implica

El

Por lo tanto, se cumple que



| k |x x
| < |x x
| .
|g(x) x
| = |g(x) g(
x)| = g 0 () |x x
|x x
| < y que |g(x) x
| < . Este ltimo
g : [
x ; x
+ ] [
x ; x
+ ].
0
En consecuencia, la funcin g(x) = x f (x)/f (x) satisface todas las hiptesis del teore
3.5, de modo que la sucesin {xn }n=1 denida por

Como

x x
; x
+ ],

podemos deducir que

resultado nos muestra que


ma

xn = g(xn1 ) = xn1
converge a

para cualquier

f (xn1 )
,
f 0 (xn1 )

para

n 1,

x0 [
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 0 (xn1 )

por su aproximacin discreta, es decir,

f 0 (xn1 ) =

f (xn1 ) f (xn2 )
.
xn1 xn2

Si reemplazamos esto ltimo en la frmula de Newton-Raphson tenemos

xn = xn1

f (xn1 )(xn1 xn2 )


,
f (xn1 ) f (xn2 )

que tambin podemos escribir como

xn =

- 72 -

f (xn1 )xn2 f (xn2 )xn1


.
f (xn1 ) f (xn2 )
Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

3. Ecuaciones no Lineales

3.6. Anlisis del error


En este punto analizaremos la convergencia de los mtodos iterativos vistos. Nos basaremos en la siguiente denicin.

Denicin 3.1.

Un sucesin

{xn }
n=0

convergir a

de orden

con una constante asinttica

si se cumple que

|xn+1 x
|
= ,
n |xn x
|
lm

con

xn 6= x

para toda

n,

son dos constantes positivas.

lineal ( = 1), cuadrtica


cbica ( = 3), etc. Dado que obtener un procedimiento con convergencia mayor a la

En consecuencia, tenemos que la convergencia puede ser


(

= 2),

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.
es continua en

y si

g 0 (
x) 6= 0,

g C[a; b] tal que g [a; b]


una constante k < 1 tal que
0
g (x) k, para todo x (a; b),

(Convergencia lineal.) Sea

(a; b)

y existe

entonces para cualquier

x0 [a; b]

xn = g(xn1 ),
converge slo linealmente al punto jo

para toda

x [a; b].

Si

g0

la sucesin
para

n 1,

x
[a; b].

Teorema 3.8.

(Convergencia cuadrtica.) Sea x


la solucin de la ecuacin x = g(x). Si g 0 (
x) =
00
y g es continua y est estrictamente acotada por una constante M en un intervalo abierto

0
I

x
, entonces existir un > 0 tal que, para x0 [
x ; x
+ ], la sucesin denida
xn = g(xn1 ) cuando n 1, converge al menos cuadrticamentea x
. Adems para valores
sucientemente grandes de n, se tiene

que contiene a
por

|xn+1 x
| <

M
|xn x
|2 .
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 0 (
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 aproximaciones sucesivas nos puede llevar a desarrollar mtodos con orden de convergencia cuadrtica o
superior. En efecto, si partimos de

xn = g(xn1 ),
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 0 (
x) = 0.

Dado que:

g 0 (x) = 1 0 (x)f (x) (x)f 0 (x),


entonces

g 0 (
x) = 1 (
x)f 0 (
x),
Revisin: 11/2009

Resumen clases tericas

- 73 -

Anlisis Numrico I - Curso 008

3.7. Mtodos de convergencia acelerada


pues

f (
x) = 0, entonces g 0 (
x) = 0 si y slo si (
x) = 1/f 0 (
x). Si reemplazamos esto en la funcin

original nos queda

xn = g(xn1 ) = xn1

f (xn1 )
,
f 0 (xn1 )

que no es otra cosa que el mtodo de Newton-Raphson.


Del segundo teorema, obtenemos adems que

M = |g 00 (x)|.

De ah que si

|g 00 (x)| = 0,

la

00
convergencia podra ser cbica, es decir, si f (x) se anula en el intervalo, la convergencia ser
superior a la cuadrtica

2.

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.

{xn }
n=0 que converge linealmente y que los signos
y que n es sucientemente grande. Para construir

Supongamos que tenemos la sucesin

xn x
, xn+1 x
y xn+2 x
son iguales

una nueva sucesin {


xn }n=0 que converja ms

de

rpido que la anterior vamos a plantear que

xn+1 x

xn+2 x

,
xn x

xn+1 x

con lo cual nos queda

(xn+1 x
)2 (xn+2 x
)(xn x
).
Si la desarrollamos nos queda

x2n+1 2xn+1 x
+x
2 xn+2 xn (xn+2 + xn )
x+x
2 ,
y

(xn+2 + xn 2xn+1 )
x xn+2 xn x2n+1 .
Si despejamos

nos queda

Si ahora sumamos y restamos

x2n

xn+2 xn x2n+1
.
xn+2 2xn+1 + xn

2xn xn+1

en el numerador, tenemos

x2n + xn+2 xn 2xn xn+1 x2n + 2xn xn+1 x2n+1


xn+2 2xn+1 + xn
xn (xn+2 2xn+1 + xn ) (x2n 2xn xn+1 + x2n+1 )

xn+2 2xn+1 + xn
(xn+1 xn )2
xn
.
xn+2 2xn+1 + xn

Si denimos la nueva sucesin

{
xn }
n=0

como

x
n = xn
obtenemos una tcnica denominada
converge ms rpidamente a
La notacin

(xn+1 xn )2
,
xn+2 2xn+1 + xn

mtodo 2 de Aitken, que supone que la sucesin {xn }


n=0

que la sucesin

{xn }
n=0 .

asociada a esta tcnica est dada por:

Si se desarrolla g 00 (x) se tiene que la derivada que ms incide en la convergencia es f 00 (x).

- 74 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


Denicin 3.2.

Dada la sucesin

3. Ecuaciones no Lineales

{xn }
n=0 ,

la diferencia progresiva

xn = xn+1 xn ,
k xn

Las potencias ms altas

para

xn

est denida por

n 0.

se denen por medio de

k xn = (k1 xn ),
A partir de estas deniciones tenemos que

para

2 xn

k 2.

se expresa como

2 xn = (1 xn ) = (xn+1 xn )
= xn+1 xn = (xn+2 xn+1 ) (xn+1 xn )
= xn+2 2xn+1 + xn ,
por lo que el mtodo

de Aitken puede escribirse como

x
n = xn

(xn )2
.
2 xn

Para analizar la convergencia de este mtodo tenemos el siguiente teorema.

Teorema 3.9.

Sea la sucesin

cientemente grandes de
converge a

n,

{xn }
n=0

que converge linealmente a

se cumpla que

con mayor rapidez que

(xn x
)(xn+1 x
) > 0.

{xn }
n=0

x
,

y que para valores su-

Entonces la sucesin

{
xn }
n=0

en el sentido de que

x
n x

= 0.
n xn x

lm

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.

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

de Aitken.

2
Al aplicar el mtodo de Aitken a una sucesin linealmente convergente, la nueva
sucesin convergente cuadrticamente se construye mediante los siguientes trminos:

x0 ; x1 = g(x0 ); x2 = g(x1 ); x
0 = {2 }(x0 ); x3 = g(x2 ); x
1 = {2 }(x1 ); . . . .
En cambio, el mtodo de Steensen calcula las tres primeras aproximaciones de la forma indicada
pero introduce una leve modicacin al calcular

x3 .

En lugar de obtener a ste a partir de

aplicando el mtodo de las aproximaciones sucesivas, lo hace a partir de

x
0 .

x2

La secuencia queda

as de la siguiente forma:

(0)

(0)

(0)

(0)

(0)

(1)

(0)

x0 ; x1 = g(x0 ); x2 = g(x1 ); x0 = {2 }(x0 );


(1)

(1)

(1)

(1)

(2)

(1)

x1 = g(x0 ); x2 = g(x1 ); x0 = {2 }(x0 ); . . .


o sea, no arma una sucesin completa con el mtodo de las aproximaciones sucesivas sino que
con las tres primeras aproximaciones calcula una nueva aproximacin haciendo uso del mtodo

de Aitken, para continuar otra vez con el mtodo de las aproximaciones sucesivas, obtener

dos nuevas aproximaciones y nuevamente aplicar el mtodo

Revisin: 11/2009

Resumen clases tericas

de Aitken.
- 75 -

Anlisis Numrico I - Curso 008

3.9. Notas nales

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 para aplicar el mtodo de las aproximaciones sucesivas tenemos la expresin

xk+1 =

2 exk + x2k
, x0 = 0, 50.
3

Para ver la ecacia del mtodo y poder comparar, obtendremos la raz por el mtodo de
las aproximaciones sucesivas primero, y por el mtodo de Steensen, despus.
Tabla 3.1: Mtodo de Steensen

xi

k i

0,50000

1
2
3

0,25361

0,25855

0,25727

0,25760

0,25751

0,25753

(k)

xi

0,50000

0,20043

0,20043

0,27275

0,27275

0,25868

0,25723

0,25761

0,25753

En la 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.

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)

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,
con 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
mtodo de la biseccin, y as, disminuir el costo computacional.
Sin embargo, cuando la ecuacin
funcin

sen(x)),

f (x) = 0

tiene multiplicidad de ceros (ejemplo, la

ninguno de estos mtodos puede distinguir rpidamente esta situacin. Es por

eso que existen otros mtodos para resolver este tipo de problemas (ver [1]).

- 76 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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 trascendente.


Un ejemplo de interpolacin muy interesante es la funcin spline del AutoCAD, que
permite dibujar curvas que pasen por puntos determinados en el dibujo, y que no pocos usuarios
no saben usar en forma eciente.
Otro ejemplo de interpolacin ms avanzado es la utilizacin de polinomios interpolantes
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.

x
y(xj ) > 0

Tambin un uso que suele darse a la interpolacin es para obtener qu valor de

hace

y(x) nulo, cuando disponemos de un conjunto de datos en los cuales se tiene que
para
j = 0; 1; . . . ; i e y(xk ) < 0 para k = i + 1; i + 2; . . . ; n (o a la inversa). Interpolando entre estos
valores podemos hallar x
tal que y(
x) = 0. Este tipo de interpolacin se denomina interpolacin
inversa, pues en lugar de interpolar el conjunto [xi ; yi ], interpolamos el conjunto [yi ; xi ] para
obtener una funcin x(y).
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:
Y supongamos que necesitamos conocer el valor de

y(xA )

para un

xA

entre

x1

x2 .

La

forma sencilla de obtener este valor es gracar estos puntos y trazar un segmento de recta que
una

y1

y2 ,

ubicar

xA

en las abscisas y trazar por l una lnea recta paralela al eje de ordenadas

que corte el segmento ya mencionado. Finalmente, desde este punto, trazamos una lnea recta

Revisin: 11/2009

Resumen clases tericas

- 77 -

Anlisis Numrico I - Curso 008

4.2. Mtodo de Lagrange

Tabla 4.1: Datos ordenados de a pares

x0
x1
x2
x3

y0
y1
y2
y3

paralela al eje de abscisas hasta cortar el eje de ordenadas, con lo cual hemos obtenido el valor
de

y(xA ).
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:

y1 = m x1 + n
y2 = m x2 + n
Si restamos

y1

y2

obtenemos

m:

y2 y1 = m(x2 x1 ) m =
Si ahora reemplazamos

y2 y1
.
x2 x1

en la primera ecuacin obtenemos

y1 =

n:

y2 y1
y2 y1
x 1 + n n = y1
x1 .
x2 x1
x2 x1

Finalmente la ecuacin de la recta que pasa por

y(x) =

y1

y2

es:

y2 y1
(x x1 ) + y1 ,
x2 x1

que tambin puede escribirse como

y(x) = y1
Para hallar

y(xA )

x x2
x x1
+ y2
.
x1 x2
x2 x1

basta con reemplazar

xA

en cualquiera de las expresiones anteriores.

Lo hecho anteriormente es equivalente al procedimiento grco. Pero que pasa si queremos usar ms de dos puntos? Supongamos que necesitamos usar los cuatro puntos de la tabla 4.1
para interpolar un punto cualquiera entre

x0

x3 .

En ese caso, el polinomio de mayor grado

posible es un polinomio cbico, porque tiene cuatro coecientes, y se puede expresar as:

y(x) = a0 + a1 x + a2 x2 + a3 x3 .
Si reemplazamos los cuatro puntos en esta ecuacin obtenemos el siguiente sistema de ecuaciones
lineales:

y0 = a0 + a1 x0 + a2 x20 + a3 x30
y1 = a0 + a1 x1 + a2 x21 + a3 x31
y2 = a0 + a1 x2 + a2 x22 + a3 x32
y3 = a0 + a1 x3 + a2 x23 + a3 x33
- 78 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

4. Interpolacin de curvas

Basta con resolver este sistema de ecuaciones lineales para obtener los coecientes

ai .

Analicemos el sistema escribindolo en forma matricial:

1
1

1
1
|

x20
x21
x22
x2
{z 3

x0
x1
x2
x3


x30
a0
y0
a1 y1
x31
=
x32 a2 y2
x33
a3
y3
}

Se trata de una matriz especial, que se conoce como matriz de VanderMonde. Tiene la
particularidad de ser mal condicionada, por lo que cualquier mtodo que usemos para resolver
este sistema puede traernos algn problema.
La interpolacin de Lagrange es una forma sencilla y sistemtica de resolver el sistema de
ecuaciones lineales anterior. El polinomio interpolador lo obtenemos sguiendo los pasos descriptos
a continuacin:
1. Calculamos los

n+1

polinomios

es el grado del polinomio e

Ln;i (x)

relacionados cada uno con cada dato

xi ,

donde

indica el punto considerado, mediante la expresin:

n
Y

Ln;i (x) =

(x xj )

j=0
j6=i
n
Y

(xi xj )

n
Y
x xj
.
xi xj

j=0
j6=i

j=0
j6=i
con

i = 0; 1; . . . ; n, j = 0; 1; . . . ; n,

xi

xj

reeren a los datos a interpolar.Estos poli-

nomios cumplen con la particularidad de que:

(
1
Ln;i (x) =
0

si
si

x = xi
x = xj

con

j 6= i.

2. El polinomio interpolador lo obtenemos mediante la expresin:

Pn (x) =

n
X

yi Ln;i (x).

i=0

Por ejemplo, podemos armar una interpolacin lineal mediante los polinomios de Lagrange entre los puntos

x1

x2 .

Al aplicar el mtodo obtenemos:

x x2
x1 x2
x x1
L1;1 =
x2 x1
P1 (x) = y1 L1;0 (x) + y2 L1;1 (x)
x x2
x x1
P1 (x) = y1
+ y2
,
x1 x2
x2 x1
L1;0 =

que es la ecuacin de la recta que obtuvimos antes.

Revisin: 11/2009

Resumen clases tericas

- 79 -

Anlisis Numrico I - Curso 008

4.2. Mtodo de Lagrange

Para obtener el polinomio de tercer grado tendremos:

L3;0 (x) =
L3;1 (x) =
L3;2 (x) =
L3;3 (x) =
P3 (x) =

(x x1 )(x x2 )(x x3 )
(x0 x1 )(x0 x2 )(x0 x3 )
(x x0 )(x x2 )(x x3 )
(x1 x0 )(x1 x2 )(x1 x3 )
(x x0 )(x x1 )(x x3 )
(x2 x0 )(x2 x1 )(x2 x3 )
(x x0 )(x x1 )(x x2 )
(x3 x0 )(x3 x1 )(x3 x2 )
y0 L3;0 (x) + y1 L3;1 (x) + y2 L3;3 (x) + y3 L3;3 (x)

Como hemos utilizado todos lo puntos de los datos, es evidente que no podemos 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.

Teorema 4.1.

Sean

x0 , x1 , . . ., xn , n + 1

nico polinomio

Pn (x)

de grado

n,

f una funcin tal que sus


f (x1 ), . . ., f (xn )), entonces existe un

nmeros diferentes, y sea

valores se obtengan a partir de los nmeros dados (f (x0 );

que cumple con la propiedad

f (xk ) = P (xk )

k = 0; 1; . . . ; n;

para cada

y este polinomio est dado por la siguiente expresin

Pn (x) = f (x0 )Ln;0 (x) + f (x1 )Ln;1 (x) + . . . + f (xn )Ln;n (x) =

n
X

f (xi )Ln;i (x),

i=0
donde

n
Y
x xj
Ln;i (x) =
,
xi xj
j=0
j6=i

para

i = 0; 1; . . . ; n.
Sin embargo, podemos crear varios polinomios de grados menores a

n.

As, con los datos

de la tabla 4.1 estamos en condiciones construir al menos tres polinomios de grado 1 y dos
polinomios de grado 2. (Podemos construir ms polinomios para ambos grados, pero no siempre
son de utilidad prctica.)
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.
Entonces, para

x0 , x1 , x2 ,. . . ,xn , nmeros distintos en el intervalo [a; b] y sea f Cn+1 [a; b].


cualquier x [a; b] existe un nmero (x) [a; b] para que el se cumple que

Sean

f (n+1) ((x)) Y
f (x) = Pn (x) +
(x xi ),
(n + 1)!
i=0

donde

Pn (x)

es el mximo polinomio interpolante.

Demostracin
(xi ) [a; b]

Si

x = xi

para

i = 0; 1; 2; . . . ; n

entonces

f (xi ) = Pn (xi ) y para cualquier


x 6= xi para i = 0; 1; 2; . . . ; n,

se cumple lo expresado en el teorema. En cambio, si

se puede denir la siguiente funcin

g(u)

para

u [a; b]:

g(u) = f (u) Pn (u) [f (x) Pn (x)]

n
Y
(u xi )
i=0

- 80 -

Resumen clases tericas

(x xi )

.
Revisin: 11/2009

Anlisis Numrico I - Curso 008


Como

4. Interpolacin de curvas

f Cn+1 [a; b], Pn C [a; b], y x 6= xi

para cualquier i, entonces

g Cn+1 [a; b]. Si u = xj

tendremos que

g(xj ) = f (xj ) Pn (xj ) [f (x) Pn (x)]

n
Y
(xj xi )
= 0 [f (x) Pn (x)]0 = 0.
(x xi )
i=0

Tambin tenemos que

g(x) = 0,

pues

g(x) = f (x) Pn (x) [f (x) Pn (x)]

n
Y
(x xi )
i=0

y en consecuencia,

g Cn+1 [a; b]

(x xi )

y se anula para

= f (x) Pn (x) [f (x) Pn (x)] = 0,

x; x0 ; x1 ; . . . ; xn , es decir, para n + 2 nmeros


(a, b) tal que g n+1 () = 0.

distintos. De acuerdo con el Teorema de Rolle, existe entonces un


As tendremos que

" n
#
n+1
Y (u xi )
d
0 = g (n+1) () = f (n+1) () Pn(n+1) () [f (x) Pn (x)] n+1
du
(x xi )
i=0

Como

Pn (u)

es un polinomio de grado

n,

entonces

(n+1)

Pn

(u) = 0.

A su vez,

n
Y
(u xi )
i=0

polinomio de grado

n + 1,

entonces su derivada de orden

n+1

u=

(x xi )

es un

ser

" n
#
(n + 1)!
dn+1 Y (u xi )
= n
.
n+1
Y
du
(x xi )
i=0
(x xi )
i=0
Si reempazamos, tendremos que

0 = f (n+1) () 0 [f (x) Pn (x)]

(n + 1)!
n
Y

(x xi )

i=0
Al despejar

f (x)

de la ecuacin anterior nos queda

f (x) = Pn (x) +

f (n+1) () Y
(x xi ).
(n + 1)!
i=0

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

2. Agregar un par de datos

Pn (x)

requiere

xn+1 , f (xn+1 )

O(n2 )

operaciones aritmticas.

requiere rehacer todos lo polinomios

Ln,i (x).

3. Es numricamente inestable.

Revisin: 11/2009

Resumen clases tericas

- 81 -

Anlisis Numrico I - Curso 008

4.3. Mtodo de Newton

4.3. Mtodo de Newton


Una forma alternativa de plantear la construccin del polinomio interpolador es la siguiente. Supongamos que queremos usar solamente los primeros tres puntos de nuestra tabla.
Entonces planteemos el siguiente sistema de ecuaciones:

y0 = a0 + a1 x0 + a2 x20
y1 = a0 + a1 x1 + a2 x21
y2 = a0 + a1 x2 + a2 x22 .
Al eliminar

a0

tenemos este nuevo sistema

y1 y0 = a1 (x1 x0 ) + a2 (x21 x20 )


y2 y1 = a1 (x2 x1 ) + a2 (x22 x21 ),
que puede escrbirse como

y1 y0
x1 x0
y2 y1
x2 x1
a1

Si ahora eliminamos

= a1 + a2 (x1 + x0 )
= a1 + a2 (x2 + x1 ).

a2 =
a2

en una de las ecuaciones anteriores para obtener

y1 y0
x1 x0

a1

a2

y1 y0
= a0 +

x1 x0

a 0 = y0

y1 y0

x1 x0

y1 y0
x1 x0

x2 x0
y2 y1
x2 x1

y1 y0

x1 x0

"

y0

y2 y1
x2 x1

= a1 +

a1 =
Ahora reemplacemos

que resulta ser

y2 y1
y1 y0

x2 x1 x1 x0
y2 y1
y1 y0
x2 x1 x1 x0
.
x2 x0

a2 (x2 x0 ) =

Ahora reemplacemos

a2

obtenemos el coeciente

(x1 + x0 )
y1 y0
x1 x0

x2 x0

(x1 + x0 ).

en la primera ecuacin de todas para obtener

y2 y1
x2 x1

y1 y0
x1 x0

x2 x0
y2 y1
x2 x1

y1 y0
x1 x0

x2 x0

#
(x1 + x0 ) x0 +

y2 y1
x2 x1

"

y1 y0

x1 x0

y1 y0
+

x1 x0

- 82 -

y2 y1
x2 x1

x1

y1 y0
x1 x0

x2 x0

y2 y1
x2 x1

y1 y0
x1 x0

x2 x0

= y0 +

y1 y0
(x x0 ) +
x1 x0

= y0 +

y1 y0
(x x0 ) +
x1 x0

y1 y0
x1 x0

x2 x0

a0 :

x20

!
x0 .

Armemos nalmente el polinomio interpolante reemplazando

P (x) = y0

a1

a0 , a1

a2

!
x1

x0 +
#

(x1 + x0 ) x +

y2 y1
x2 x1

y1 y0
x1 x0

x2
y2 y1
x2 x1

x0
0
xy11 y
x0

x2 x0

Resumen clases tericas

y2 y1
x2 x1

y1 y0
x1 x0

x2 x0

x2

x2 (x0 + x1 )x + x0 x1

(x x0 )(x x1 ).
Revisin: 11/2009

Anlisis Numrico I - Curso 008

4. Interpolacin de curvas

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 (xi ) = yi .

Seguidamente vamos a denir que:

f (x1 ) f (x0 )
x1 x0
f (x2 ) f (x1 )
,
x2 x1

f (x0 ; x1 ) =
f (x1 ; x2 ) =
y generalizando

f (xi+1 ) f (xi )
.
xi+1 xi

f (xi ; xi+1 ) =
Anlogamente tenemos que:

f (x0 ; x1 ; x2 ) =

f (x2 )f (x1 )
x2 x1

f (x1 )f (x0 )
x1 x0

x2 x0

=,

f (x1 ; x2 ) f (x0 ; x1 )
,
x2 x0

y si generalizamos nuevamente tenemos

f (xi ; xi+1 ; xi+2 ) =

f (xi+1 ; xi+2 ) f (xi ; xi+1 )


.
xi+2 xi

Finalmente podemos generalizar totalmente las expresiones anteriores a la siguiente expresin:

f (xk ; xk+1 ; . . . ; xn1 ; xn ) =

f (xk+1 ; xk+2 ; . . . ; xn ) f (xk ; xk+1 ; . . . ; xn1 )


.
xn xk

Si utilizamos esta notacin para el polinomio que hallamos ms arriba nos queda:

P (x) = f (x0 ) + f (x0 ; x1 ) (x x0 ) + f (x0 ; x1 ; x2 ) (x x0 ) (x x1 ).


Esta forma nos permite agregar un punto ms y aumentar el grado del polinomio en

x3 , solamente debemos agregar al


f (x0 ; x1 ; x2 ; x3 )(x x0 )(x x1 )(x x2 ), con lo cual nos queda

forma sencilla. Efectivamente, si queremos agregar


anterior el trmino

polinomio

P (x) = f (x0 ) + f (x0 ; x1 )(x x0 ) + f (x0 ; x1 ; x2 )(x x0 )(x x1 ) +


+f (x0 ; x1 ; x2 ; x3 )(x x0 )(x x1 )(x x2 ).
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.
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

x3 ,

que resulta ser

P (x) = f (x3 ) + f (x2 ; x3 )(x x3 ) + f (x1 ; x2 ; x3 )(x x3 )(x x2 ) +


+f (x0 ; x1 ; x2 ; x3 )(x x3 )(x x2 )(x x1 ),
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

Revisin: 11/2009

Pn (x)

requerimos

operaciones aritmticas, algo bastante menor al

Resumen clases tericas

- 83 -

Anlisis Numrico I - Curso 008

4.4. Interpolacin baricntrica de Lagrange

Tabla 4.2: Mtodo de Newton

x
x0

f (x)
f (x0 )

x1

f (x1 )

f (xi ; xi+1 )

f (xi ; xi+1 ; xi+2 )

f (xi ; xi+1 ; xi+2 ; xi+3 )

f (x0 ; x1 )
f (x0 ; x1 ; x2 )
f (x1 ; x2 )
x2

f (x0 ; x1 ; x2 ; x3 )

f (x2 )

f (x1 ; x2 ; x3 )
f (x2 ; x3 )

x3

O(n2 )

f (x3 )

que requiere el mtodo de Lagrange

estar ordenados, segn

xi ,

1 . Sin embargo, el mtodo exige que los datos deban

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.

4.4. Interpolacin baricntrica de Lagrange


Supongamos que denimos un polinomio genrico

L(x)

tal que

L(x) = (x x0 )(x x1 ) . . . (x xn ).
Denamos adems los pesos baricntricos como

wi =

n
Y
k=0
k6=i

1
,
xi xk

para todo

i = 0; 1; . . . ; n.

Entonces podemos escribir cualquier polinomio de Lagrange como

Ln;i = L(x)

wi
,
x xi

y, en consecuencia, el polinomio interpolante ser

Pn (x) =

n
X
i=0

pues

L(x)

X
wi
L(x)wi
f (xi )
= L(x)
f (xi )
,
x xi
x xi
i=0

es constante para todo los trminos de la sumatoria.

Esto es una gran ventaja en dos sentidos. Primero, para evaluar

O(n)

se necesitan slo

operaciones, lo cual hace mucho ms rpido el procedimiento. Y segundo, si agregamos el

par de datos

xn+1 , f (xn+1 ),

Dividir cada

wi

por

Calcular un nuevo

Pn (x)

slo debemos hacer lo siguiente:

xi xn+1 .

wi+1 .

De todos modos, se requieren O(n2 ) operaciones para obtener los coecientes f (xk ; xk+1 ; . . . ; xn ).

- 84 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

4. Interpolacin de curvas

n + 1 operaciones. Es decir, podemos


Pn (x) con slo O(n) operaciones! A esta variante del mtodo de Lagrange

En ambos casos el costo computacional es de


actualizar el polinomio

suele llamrsela mtodo mejorado de Lagrange y tiene una ventaja adicional respecto al mtodo
de Newton que rara vez se menciona: los coecientes

wi

no dependen de los datos

f (xn+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

con el polinomio hallado. En ese caso tenemos

1=

n
X

1 Ln,i (x) = L(x)

i=0

n
X
i=0

Ln,i (x) = 1 cuando x = xi .


Pn (x) por la expresin anterior,

wi
,
x xi

pues hemos visto que


Si dividimos

L(x)

n
X

f (xi )

i=0

Pn (x) =

L(x)

n
X
i=0

y simplicando

L(x),

o sea, que la dividimos por 1, nos queda:

wi
x xi
,

wi
x xi

obtenemos que

n
X

Pn (x) =

f (xi )

i=0
n
X
i=0

wi
x xi

wi
x xi

que se denomina interpolacin baricntrica de Lagrange. Al igual que en el caso del mtodo
mejorado, slo se necesitan
de datos

xn+1 , f (xn+1 )

O(n)

operaciones para actualizar el polinomio si agregamos un par

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). A pesar de esto, en general, la interpolacin baricntrica de Lagrange es
ms estable numricamente que el mtodo de Lagrange original y que el mtodo de Newton,
segn el anlisis hecho por N.J. Higham en [7].

4.5. Fenmeno de Runge


Supongamos que debemos interpolar los siguientes datos:
Al aplicar el mtodo de Lagrange tradicional para obtener un polinomio interpolante, el
resultado es una polinomio de grado 10 (n

= 10).

Las guras que siguen muestran los resultados

de interpolar un conjunto de datos distribuidos uniformemente.


Como podemos ver, en la gura 4.1, los puntos del conjunto de datos estn distribuidos
en forma uniforme, tal como vemos en la tabla 4.3. En este caso particular, conocemos la funcin
y corresponde a la curva representada en la gura 4.2.
En la gura 4.3 estn representada la curva obtenida por aplicacin de la interpolacin
por el mtodo de Lagrange tradicional. Podemos ver que ambas curvas dieren notablemente en
los extremos, no as en la parte central (gura 4.4). Evidentemente, los valores interpolados en
ambos extremos sern de poca utilidad en caso de ser necesarios, pues estn muy alejados de los
valores reales.

Revisin: 11/2009

Resumen clases tericas

- 85 -

Anlisis Numrico I - Curso 008

4.5. Fenmeno de Runge

Tabla 4.3: Conjunto de datos a interpolar

i
0
1
2
3
4
5
6
7
8
9
10

xi
0, 000
1, 000
2, 000
3, 000
4, 000
5, 000
6, 000
7, 000
8, 000
9, 000
10, 000

yi
0, 500
0, 933
0, 067
0, 500
0, 933
0, 067
0, 500
0, 933
0, 067
0, 500
0, 933

Figura 4.1: Conjunto de puntos distribuidos uniformemente.

Figura 4.2: Curva obtenida con la funcin.

- 86 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

4. Interpolacin de curvas

Figura 4.3: Curva obtenida por interpolacin por Lagrange.

Figura 4.4: Comparacin de ambas curvas.

Esta comparacin entre una curva conocida y una obtenida por interpolacin polinomial,
nos ayuda a entender que usar polinomios de grado alto para interpolar un conjunto de datos
distribuidos en forma uniforme, de los cuales no se conoce la funcin que los relaciona (no se
conoce

y = f (x)),

puede no ser una metodologa aceptable si los puntos que luego debemos

obtener se encuentran cerca de los extremos.


Pero para evitar el fenmeno descripto, debemos cambiar la forma de resolver nuestro
problema. Veamos otras formas de interpolar mediante polinomios.

4.6. Interpolacin de Hermite


Muchas veces disponemos de ms datos para interpolar. Por ejemplo, supongamos que

ti , la coordenada
vi , para i = 0; 1; . . . ; n. En este caso adems de los valores de
f 0 (ti ) pues vi = f 0 (ti ). Por lo tanto nuestra tabla original podra

para una partcula que se desplaza conocemos los siguientes datos: el instante
de la trayectoria,

f (ti )

yi

y la velocidad

conocemos tambin los de

ser reescrita como (tabla 4.4):


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

ti ),

pasamos a tener ocho valores. Si queremos utilizar todos los datos disponibles, en lugar de

Revisin: 11/2009

Resumen clases tericas

- 87 -

Anlisis Numrico I - Curso 008

4.6. Interpolacin de Hermite

Tabla 4.4: Datos incluyendo la primera derivada

t0
t1
t2
t3

y0
y1
y2
y3

v0
v1
v2
v3

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) = a0 + a1 t + a2 t2 + a3 t3 + a4 t4 + a5 t5 + a6 t6 + a7 t7 ,
del cual podemos hallar la primera derivada, que resulta ser

v(t) = y 0 (t) = a1 + 2a2 t + 3a3 t2 + 4a4 t3 + 5a5 t4 + 6a6 t5 + 7a7 t6 .


Al igual que al principio, podemos reemplazar cada uno de los valores en las dos funciones,
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

[a; b]

menor grado que concuerda con


lo sumo

2n + 1,

y sean

f0

x0 ; x1 ; . . . ; xn [a; b] distintos, el
x0 ; x1 ; . . . ; xn es el polinomio de

en

polinomio nico de
Hermite de grado a

que est dado por la siguiente expresin:

H2n+1 (x) =

n
X

f (xi )Hn;i (x) +

i=0

n
X

n;i (x),
f 0 (xi )H

i=0

donde

Hn;i (x) = [1 2(x xi )L0n;i (xi )]L2n;i (x),


y

n;i (x) = (x xi )L2 (x),


H
n;i
donde

Ln;i (x)

es el

isimo

polinomio de Lagrange de grado

n.

Si adems

2n+2

[a; b],

entonces se cumple que

f (x) = H2n+1 (x) +


con

tal que

(x x0 )2 . . . (x xn )2 (2n+2)
f
(),
(2n + 2)!

a < < b.

Demostracin

Primero, recordemos que

(
1
Ln;i (x) =
0

si
si

x = xi
,
x = xj conj 6= i.

por lo tanto, tenemos que:

n,i (xj ) = 0,
Hn,i (xj ) = 0 H
- 88 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


para

j 6= i,

4. Interpolacin de curvas

en tanto que

Hn,i (xi ) = [1 2(xi xi )L0n;i (xi )]L2n;i (xi ) = [1 2(0)L0n;i (xi )] 12 = 1,


y

n,i (xi ) = (xi xi )L2n;i (xi ) = (xi xi ) 12 = 0.


H
Entonces, nos queda que:

H2n+1 (xi ) =

n
X

f (xi )Hn;i (xi ) +

i=0

n;i (xi ) = f (xi ) +


f 0 (xi )H

n
X

i=0

i = 0; 1; 2; . . . ; xn ,

f 0 (xi ) 0 = f (xi ),

i=0

H2n+1 (x) = f (x) en los puntos dados.


0
0
0
Demostremos ahora que H2n+1 (x) = f (x). Como Ln;i (x) es un factor de Hn;i (x), entonces
0
cumple que Hn;i (xj ) = 0 cuando j 6= i. Si j = i, tenemos que

para
se

n
X

es decir

0
Hn;j
(xj ) = 2 L2n;j (xj ) + [1 + 2(xj xj )L0n;j (xj )]2Ln;j (xj )L0n;j (xj )

= 2 L2n;j (xj ) + 2 L2n;j (xj ) = 0,


o sea,

0 (x ) = 0
Hn;i
j

para todas la

i.

Por otro lado, observemos que

0
n;i
H
(xj ) = L2n;i (xj ) + (xj xi )2Ln;i (xj )L0n;i (xj )

= Ln;i (xj )[Ln;i (xj ) + 2(xj xi )L0n;i (xj )],


y en consecuencia, cuando

j 6= i

tendremos que:

0 (xj ) = L2 (xj ) + (xj xi )2Ln;i (xj )L0 (xj ) = 0 + 0 = 0,


H
n;i
n;i
n;i
pues

Ln;i (xj ) = 0,

y cuando

j=i

0
n;j
H
(xj ) = L2n;j (xj ) + (xj xj )2Ln;j (xj )L0n;j (xj ) = 12 + 0 = 1.
Si combinamos ambos casos tenemos

0
H2n+1
(xj )

n
X

0
f (xj )Hn;i
(xj )

i=0

n
X

n
X

0 (xj )
f 0 (xj )H
n;i

i=0

0 (xj ) = 0 + f 0 (xj ) = f 0 (xj ),


f (xj ) 0 + f 0 (xj )H
n;j

i=0
entonces

H2n+1 (x) = f (x)

0
H2n+1
(x) = f 0 (x)

para

x0 ; x1 ; . . . ; xn .

En realidad, la interpolacin de Hermite es un caso particular de los denominados poli-

nomios osculantes, cuando

Denicin 4.1.

mi = 1.

Veamos la siguiente denicin.

x0 ; x1 ; . . . ; xn , todos distintos y los enteros no negativos m0 ; m1 ; . . . ; mn ,


m
se denomina polinomio osculante que aproxima una funcin f C [a, b] donde se cumple que
m = max {m0 ; m1 ; . . . ; mn } y xi [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 mi en xi para cada
i = 0; 1; . . . ; n. El mximo grado de este polinimio es
Dados

M=

n
X

mi + n,

i=0
pues el nmero de condiciones que debe cumplir es

n
X

(mi + 1) =

i=0
y un polinomio de grado

Revisin: 11/2009

tiene

n
X

mi + (n + 1),

i=0

M +1

coecientes.

Resumen clases tericas

- 89 -

Anlisis Numrico I - Curso 008

4.6. Interpolacin de Hermite

Esto quiere decir que adems de las derivadas primeras podemos tener las derivadas segundas, terceras, etc., para armar el polinomio interpolante. Con 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, si bien esto no resulta tan sencillo de implementar. (Para ms detalles, ver [1].)
Volvamos al mtodo de Hermite. Como est basado en los polinomios de Lagrange, si
se agregan datos, el mtodo tiene las mismas desventajas que el de Lagrange, porque deben
repetirse todos los clculos para obtener el nuevo polinomio interpolante.
Pero tal como vimos para ese mtodo, existe tambin una forma alternativa de armar el
polinomio buscado aplicando el mtodo de Newton, que nos permite desarrollarlo con la siguiente
frmula:

Pn (x) = f (x0 ) +

n
X

f (x0 ; x1 ; . . . ; xk )

k1
Y

(x xj ).

j=0

Dado que conocemos los valores de la derivada primera, debemos redenir nuestra sucesin de datos. Por ejemplo, si tomamos los datos de la tabla 4.4, nuestra nueva sucesin de puntos
es

t0 ; t0 ; t1 ; t1 ; t2 ; t2 ; t3 ; t3 ,

es decir, denimos una nueva sucesin

z0 ; z1 ; . . . ; z2n+1

tal que

z2i = z2i+1 = ti ,
con

i = 0; 1; 2; . . . ; n.

f (z2i ; z2i+1 ) de la forma


0
0
conocemos f (z2i ) = f (xi ),

Como con esta nueva sucesin no podemos denir

vista anteriormente, resulta conveniente denirla aprovechando que

con lo que aprovechamos los datos conocidos. En consecuencia, podemos construir la tabla 4.5
con los coecientes para armar el polinomio segn el mtodo de Newton.
Tabla 4.5: Interpolacin Hermite aplicando el Mtodo de Newton

z
z0 = x 0

f (z)
f (z0 ) = f (x0 )

f (zi ; zi+1 )

f (zi ; zi+1 ; zi+2 )

f (zi ; zi+1 ; zi+2 ; zi+3 )

f (z0 ; z1 ) = f 0 (x0 )
z1 = x 0

f (z1 ) = f (x0 )

z2 = x 1

f (z2 ) = f (x1 )

f (z0 ; z1 ; z2 )
f (z1 ; z2 )

f (z0 ; z1 ; z2 ; z3 )
f (z1 ; z2 ; z3 )

f (z2 ; z3 ) = f 0 (x1 )
z3 = x 1

f (z3 ) = f (x1 )

f (z1 ; z2 ; z3 ; z4 )
f (z2 ; z3 ; z4 )

f (z3 ; z4 )
z4 = x 2

f (z2 ; z3 ; z4 ; z5 )

f (z4 ) = f (x2 )

f (z3 ; z4 ; z5 )
f (z4 ; z5 ) = f 0 (x2 )

z5 = x 2

f (z5 ) = f (x2 )

z6 = x 3

f (z6 ) = f (x3 )

f (z3 ; z4 ; z5 ; z6 )
f (z4 ; z5 ; z6 )

f (z5 ; z6 )

f (z4 ; z5 ; z6 ; z7 )
f (z5 ; z6 ; z7 )

f (z6 ; z7 ) = f 0 (x3 )
z7 = x 3

f (z7 ) = f (x3 )

Construida nuestra tabla, el polinomio de Hermite se arma de la siguiente manera:

H2n+1 (x) = f (z0 ) +

2n+1
X

f (z0 ; z1 ; . . . ; zk )

k=1
- 90 -

Resumen clases tericas

k1
Y

(x zj ) .

j=0

Revisin: 11/2009

Anlisis Numrico I - Curso 008

4. Interpolacin de curvas

De manera similar a lo visto para el mtodo de Lagrange, el error de interpolar por


Hermite es funcin de los puntos usados para dicha interpolacin, que se expresa as:

E(x) =

f (2n+2) () Y
(x xi )2 .
(2n + 2)!
i=0

Si aplicamos esto a nuestros datos originales de la tabla 4.4, obtendramos un polinomio de


grado 7. Pero este polinomio puede sufrir los mismos problemas que ya vimos para los polinomios
de Lagrange, es decir, oscilaciones no deseadas en los extremos del intervalo de interpolacin, si
la distribucin de los puntos es uniforme.
Es por eso 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

xi ; xi+1 .

Veamos como aplicarlo a nuestra

tabla 4.4.
Para armar la curva que interpola entre
y

v1 ,

t0

t1 ,

contamos con los valores de

y0 , y1 , v0

con lo cual podemos armar un polinomio de Hermite de tercer grado que cumpla con las

H3 (t0 ) = f (t0 ) = y0 ; H3 (t1 ) = f (t1 ) = y1 , H30 (t0 ) = f 0 (t0 ) = v0 y H30 (t1 ) = f 0 (t1 ) =
mismo podemos hacer entre t1 y t2 , y para el intervalo t2 y t3 . Tendremos, entonces,
1;0 (t) y H
1;1 (t).
polinomios de Hermite para todo el intervalo, a saber, H1;0 (t), H1;1 (t), H

condiciones

v1 .

Lo

cuatro

Los polinomios resultantes son:

1
t0 t1



t t1
t0 t1

2

1
t1 t0


t t1 2

H1;0 (t) = (t t0 )
t0 t1


t t0 2

H1;1 (t) = (t t1 )
t1 t0



t t0
t1 t0

2


H1;0 (t) = 1 2(t t0 )

H1;1 (t) = 1 2(t t1 )

Como adems se cumple que

H3;i (ti+1 ) = H3;i+1 (ti+1 )

0 (t
0
H3;i
i+1 ) = H3;i+1 (ti+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.
Tambien podemos armar este polinommio aplicando el mtodo de Newton adaptado, a
partir de la siguiente tabla:
Tabla 4.6: Interpolacin Hermite segmentada aplicando el Mtodo de Newton

z
z0 = ti

f (z)
f (z0 ) = f (ti )

f (zi ; zi+1 )

f (zi ; zi+1 ; zi+2 )

f (zi ; zi+1 ; zi+2 ; zi+3 )

f (z0 ; z1 ) = f 0 (ti )
z1 = ti

f (z1 ) = f (ti )

f (z0 ; z1 ; z2 )
f (z1 ; z2 )

z2 = ti+1

f (z2 ) = f (ti+1 )

f (z0 ; z1 ; z2 ; z3 )
f (z1 ; z2 ; z3 )

f (z2 ; z3 ) = f 0 (ti+1 )
z3 = ti+1

f (z3 ) = f (ti+1 )

Revisin: 11/2009

Resumen clases tericas

- 91 -

Anlisis Numrico I - Curso 008

4.7. Interpolacin por splines

A partir de la tabla 4.6, el polinomio de Hermite segmentado lo armamos de la siguiente


manera:

H3 (t) = f (z0 ) + f (z0 ; z1 )(t z0 ) + f (z0 ; z1 ; z2 )(t z0 )(t z1 ) +


+f (z0 ; z1 ; z2 ; z3 )(t z0 )(t z1 )(t z2 ),
que podemos escribir as:

H3 (t) = f (ti ) + f 0 (ti )(t ti ) + f (ti ; ti ; ti+1 )(t ti )2 + f (ti ; ti ; ti+1 ; ti+1 )(t ti )2 (t ti+1 ),
donde:

f (ti ; ti+1 ) f 0 (ti )


,
ti+1 ti
f 0 (ti+1 ) f (ti ; ti+1 )
, y
f (ti ; ti+1 ; ti+1 ) =
ti+1 ti
f (ti ; ti+1 ; ti+1 ) f (ti ; ti ; ti+1 )
f (ti ; ti ; ti+1 ; ti+1 ) =
.
ti+1 ti
f (ti ; ti ; ti+1 ) =

Al igual que para el caso de la interpolacin completa, el error cometido en una interpolacin segmentada es proporcional a la derivas
armamos una curva entre

i + 1,

E(h) =
con

[x0 ; xn ]

2n + 2 de la funcin. En este caso, puesto que solo

el error en cada tramo est dado por la siguiente expresin:

f (iv) ()
max(h4i ),
384

hi = xi+1 xi .

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 con
polinomios de Hermite no siempre resultan ser una solucin aplicable. Buscaremos otra manera
de obtener polinomios interpolantes que eviten el fenmeno de Runge.

4.7. 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

Si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 ,
con

i = 0; 1; . . . ; n 1.

Como en el caso anterior, observemos que tenemos cuatro constantes

para cada polinomio, por lo tanto, debemos agregar condiciones para poder armar nuestra curva
interpolante. Como nuevamente no disponemos de ms datos (es decir, no conocemos los valores
de las derivadas en los puntos), vamos a imponer que las curvas cumplan con estas condiciones:
1.

Si (xi ) = f (xi )

2.

Si+1 (xi+1 ) = Si (xi+1 )

para cada

i = 0; 1; . . . ; n 2;

3.

0 (x
0
Si+1
i+1 ) = Si (xi+1 )

para cada

i = 0; 1; . . . ; n 2;

4.

00
00 (x
Si+1
i+1 ) = Si (xi+1 )

para cada

i = 0; 1; . . . ; n;

para cada

i = 0; 1; . . . ; n 2;

5. Alguna de las siguiente condiciones de borde:

a)
- 92 -

00 (x ) = S 00 (x ) = 0
S000 (x0 ) = Sn1
n
n n

(frontera libre);

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


b)

S00 (x0 ) = f 0 (x0 ) =

4. Interpolacin de curvas

0
Sn1
(xn ) = Sn0 (xn ) = f 0 (xn ) =

(frontera sujeta).

La primera condicin nos 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

Si (x)

como para sus derivadas primera y segunda.


Para obtener cada polinomio, empecemos por plantear las condiciones denidas arriba.

En primer lugar, como

Si (xi ) = f (xi ),

tendremos que:

Si (xi ) = ai = f (xi ).
Al aplicar la segunda condicin tenemos que:

ai+1 = Si+1 (xi+1 ) = Si (xi+1 ) = ai + bi (xi+1 xi ) + ci (xi+1 xi )2 + di (xi+1 xi )3 ,


para cada i = 0; 1; . . . ; n 2. Para simplicar
an = f (xn ). Entonces nos queda que

la notacin denamos que

hi = (xi+1 xi ),

y que

ai+1 = ai + bi hi + ci h2i + di h3i ,


es vlida para cada

i = 0; 1; . . . ; n 1.

En forma anloga tenemos que

Si0 (xi ) = bi ,
por lo tanto, tambin se cumple que

bi+1 = bi + 2ci hi + 3di h2i ,


es vlida para cada

i = 0; 1; . . . ; n 1.

Finalmente, tenemos que

Si00 (xi ) = 2ci .


Como se cumple que

cn = Sn00 (xn )/2,

nos queda que:

ci+1 = ci + 3di hi ,
una vez ms, para cada

i = 0; 1; . . . ; n1. Si despejamos di y reemplazamos en las dos expresiones

anteriores, nos queda:

h2i
(2ci + ci+1 ),
3
= bi + hi (ci + ci+1 ),

ai+1 = ai + bi hi +
bi+1
para cada

i = 0; 1; . . . ; n 1.

En la primera ecuacin podemos despejar

bi =
Si usamos la segunda para obtener

bi1 ,

para obtener

bi

que resulta ser

ai+1 ai hi
(2ci + ci+1 ).
hi
3
en vez de

bi+1

y utilizamos la expresin que hallamos recin

nos queda

ai+1 ai hi
(2ci + ci+1 ) =
hi
3
hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 =
para cada

bi ,

ai ai1 hi1

(2ci1 + ci ) + hi1 (ci1 + ci )


hi1
3
3
3
(ai+1 ai )
(ai ai1 ),
hi
hi1

i = 1; 2; . . . ; n 1.

Ahora nos falta determinar si con este esquema podemos obtener un resultado nico para
los valores de

ci .

Teorema 4.4.

Para ello tenemos el siguiente teorema:

a = x0 < x1 < . . . < xn = b,


natural en los nodos x0 ; x1 ; . . . ; xn .

Sea

de frontera libre o

Revisin: 11/2009

en

entonces

Resumen clases tericas

tendr un interpolante nico

- 93 -

Anlisis Numrico I - Curso 008

4.7. Interpolacin por splines

Demostracin

00 (b)
Sn1

Si la curva es de frontera libre o natural, entonces se cumple que

Sn00 (b)

= 0,

S000 (a) = 0

por lo tanto tendremos que

cn =

Sn00 (xn )
= 0;
2

y que

0 = S000 (x0 ) = 2c0 + 6d0 (x0 x0 ) c0 = 0.


Ax = B

...
0
.
..
.
.
.
.
..
.
.
.
,

..
.
0

2(hn2 + hn1 ) hn1


0
1

En consecuencia, nos queda un sistema de ecuaciones de la forma

1
0
0
...

..
h0 2(h0 + h1 )
.
h1

0
h1
2(h1 + h2 ) h2
A=
..
..
..
..
.
.
.
.

..
..
..
.
.
.
hn2
0
...
...
0

0
3
(a

a
)

2
1
h1

3
h0 (a1

a0 )

.
.

B=

.
.

.
3

3
h (an an1 ) h (an1 an2 )
n1
n2
0

con


c0
c1

..

x=
. .
..
.
cn

Este sistema de ecuaciones lineales tiene solucin nica, lo que nos asegura que existe un

ci y, en consecuencia, un solo conjunto de curvas Si (x). Una vez obtenidos


ci , podemos hallar los restantes coeciente, bi y di con las expresiones ya vistas:

slo conjunto de valores


los valores de los

di =
bi =
con lo que obtenemos las

Si (x)

ci+1 ci
,
3hi
ai+1 ai hi
(2ci + ci+1 ),
hi
3

curvas o polinomios que interpolan los datos.

Para el caso de las splines con frontera sujeta tenemos el siguiente teorema.

Teorema 4.5.

Sea

en

a = x0 < x1 < . . . < xn = b,

y diferenciable en

tendr un interpolante nico de frontera sujeta en los nodos

Demostracin

Puesto que conocemos

f 0 (a) = f 0 (x0 ),

b0 = f 0 (a) = f 0 (x0 ) =

y en

b,

entonces

x0 ; x1 ; . . . ; xn .

tenemos que

a 1 a 0 h0
(2c0 + c1 ),
h0
3

y nos queda que


a1 a0
0
2h0 c0 + h0 c1 = 3
f (a) .
h0


Anlogamente, tenemos que

f 0 (b) = f 0 (xn ) = bn = bn1 + hn1 (cn1 + cn ),


- 94 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

4. Interpolacin de curvas

que podemos escribir como

f 0 (b) = =
=

an an1 hn1

(2cn1 + cn ) + hn1 (cn1 + cn )


hn1
3
an an1 hn1
+
(cn1 + 2cn ),
hn1
3

y que nos deja la siguiente ecuacin:



an an1
0
.
hn1 cn1 2hn1 cn = 3 f (b)
hn1
En consecuencia, nos queda el siguiente sistema de ecuaciones

2h0
h0
0
...
...
0

.
..
..
.
h0 2(h0 + h1 )

.
.
h1
.

.
..
.
0

.
h1
2(h1 + h2 ) h2
.

,
A= .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
0

..

..
..
.
.
.
hn2 2(hn2 + hn1 ) hn1
0
...
...
0
hn1
2hn1

a1 a0
h0

f 0 (a)

3
3

h1 (a2 a1 ) h0 (a1 a0 )

.
.

.
,

B=

.
.

3
3

an2 )
hn1 (an ahn1 ) hn2 (an1

i
an an1
0
3 f (b) hn1


c0
c1

..

x=
. .
..
.
cn

Como en el caso anterior, el sistema de ecuaciones lineales tiene solucin nica, es decir,
existe un nico vector

c0 , c1 , . . ., cn ,

y consecuentemente, un slo conjunto de curvas

Si (x).

En cuanto al error que cometemos al interpolar una curva utilizando splines, para el
caso con frontera libre podemos expresarlo como

m
ax |f (x) S(x)|

axb
donde

S(x)

es el conjunto de las

Si (x)

curvas,

5
M max |hi |4 ,
384 0in1

M = f iv ()

con

[x0 ; xn ]

embargo, cuando se utiliza este caso, el orden del error en los extremos es
no a

|hi |4 ,

hi = xi+1 xi . Sin
2
proporcional a |hi | y
y

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

f 0 (b)), denominado aproximacin sin un nodo 2 , en el cual se considera que


dn1 ,

S0 (x) = S1 (x)
2
orden de |hi | .

que es lo mismo que considerar que

introduce un error en los extremos del

0 (a) y

d0 = d1 y dn2 =
Sn2 (x) = Sn1 (x), lo cual tambin

Para este ltimo caso tenemos lo siguiente:

c1 c0
3h0
c2 c1
d1 =
.
3h1

c1 = c0 + 3d0 h0 d0 =
c2 = c1 + 3d1 h1
2

Algunos textos denominan a esta aproximacin como condicin no un nodo, por la expresin en ingls not a

knot approximation.

Revisin: 11/2009

Resumen clases tericas

- 95 -

Anlisis Numrico I - Curso 008

4.8. Notas nales


Como

d0 = d1 ,

entonces

c2 c1
c1 c0
=
3h0
3h1
h1 c1 h1 c0 = h0 c2 h0 c1 ,
lo que nos deja la siguiente expresin para la primera la del sistema:

h1 c0 (h0 + h1 )c1 + h0 c2 = 0.
Anlogamente, para

dn2

dn1

tenemos algo similar:

cn1 cn2
3hn2
cn cn1
=
,
3hn1

cn1 = cn2 + 3dn2 hn2 dn2 =


cn = cn1 + 3dn1 hn1 dn1
con las cuales obtenemos la ltima la del sistema:

hn1 cn2 (hn2 + hn1 )cn1 + hn2 cn = 0.


As, el sistema queda como:

h1 (h0 + h1 )
h0
...
...
0

.
..
..
.
h0 2(h0 + h1 )
.
.
.
h1

.
..
.
0
.
h1
2(h1 + h2 ) h2
.
,
A=
..

..
..
..
..
.
.
.
.
.
0

..

..
..
.
.
.
hn2 2(hn2 + hn1 ) hn1
0
...
...
hn1 (hn2 + hn1 ) hn2

0
3
(a

a
)

1
h1 2

h0 (a1 a0 )

.
.

.
,

B=

.
.

3
h (an an1 ) h 3 (an1 an2 )
n1
n2
0


c0
c1

..

x=
. .
..
.
cn

Esta variante de la interpolacin por spline es poco usada porque tiene muchas ms
indeniciones que la natural.

4.8. 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:

L1;0 (x) =
L1;1 (x) =
- 96 -

x x1
x0 x1
x x0
,
x1 x0

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


donde

x0

es el punto inicial y

x1

4. Interpolacin de curvas

el punto nal de la interpolacin. Con estos dos polinomios, el

polinomio completo de Lagrange resulta ser:

P1 (x) = f (x0 )L1;0 (x) + f (x1 )L1;1 (x)


x x0
x x0
x x1
x x1
+ f (x1 )
= f (x1 )
f (x0 )
= f (x0 )
x0 x1
x1 x0
x1 x0
x1 x0
f (x1 )x0 f (x0 )x1
f (x1 ) f (x0 )
x
.
=
x1 x0
x1 x0
Adems de los mtodos vistos, existen otros ms complejos que mejoran nuestra aproximacin 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 mediante polinomios contamos con curvas paramtricas denominadas curvas de Bezier. (Para ms
datos, vase [1].)
Respecto a 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.

Figura 4.5: Cuadro de dilogo del OpenOce Calc para Lneas Suaves.

Figura 4.6: Cuadro de dilogo del MS Excel 2003 para Lnea suavizada.

Por ltimo, resulta interesante observar que las hojas de clculo y 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

Revisin: 11/2009

Resumen clases tericas

- 97 -

Anlisis Numrico I - Curso 008

4.8. Notas nales

R

usadas en programas como el AutoCAD , en tanto que las segundas, en programas como el
R

Corel Draw , OpenOce Draw o similares. Por tal motivo, resulta til conocer los fundamentos
matemticos de cada una de ellas.
Un caso interesante en el uso de interpolacin con segmentos de curvas es la versin

3 del programa OpenOce Calc , la planilla de clculo del paquete de distribucin gratuita
R

OpenOce . Para gracar curvas suavizadas aplica la interpolacin mediante trazadores cbicos
o splines, si se quiere que las curvas pasen por los puntos, o mediante B-splines si lo que se
quiere es que que las curvas tengan una forma determinada. Ambas opciones estn disponibles
en el cuadro de control de la curva, como se puede ver en la gura 4.5. No ocurre lo mismo
R

en el MS Excel
(gura 4.6), al menos hasta la versin 2007, pues la gracacin de la curva
suavizada es hecha mediante un algoritmo no especicado, ni es posible ajustar la densidad de
puntos adicionales para dicha representacin grca.

Este paquete de ocina gratuito se puede bajar en: http://es.openoce.org/.

- 98 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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 funcin 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, si
la cantidad de puntos es muy grande, interpolar mediante polinomios crea curvas de grado muy
alto, 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 en cada punto dato o spline cuando no la
conocemos). Pero en todos los casos, una de las condiciones fundamentales es que los puntos

xi

sean distintos. Qu hacemos cuando esto no es as, cuando la cantidad de puntos exceden la capacidad de armar polinomios interpolantes o cuando los puntos que usaremos son aproximaciones
de los valores reales?
Supongamos que tenemos una serie de datos empricos obtenidos en laboratorio, tales
que el conjunto de datos no cumple estrictamente que los
mismo

xi

tenemos varios valores de

distintos, varios

xj

f (xi ).

xi

sean distintos, con lo cual para un

(En realidad suele suceder que aunque los

xi

sean

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

...

f (xn ).

xi

sean distintos, que

x0 < x1 < . . . < xn

para los cuales conocemos

f (x0 ), f (x1 ),

Asumamos que la aproximacin la haremos con una funcin que deniremos de la

siguiente manera:

g(x) = c0 0 (x) + c1 1 (x) + . . . + cm m (x) =

m
X

ci i (x),

i=0
donde

m < n,

es decir, tenemos menos funciones disponibles que puntos, y las

i (x)

son lineal-

mente independientes.
Dado que hemos impuesto que la funcin elegida no debe pasar por lo puntos tomados
como dato, buscaremos que el error entre los datos (f (xi ))y los

Revisin: 11/2009

Resumen clases tericas

g(xi )

de la funcin de ajuste sea


- 99 -

Anlisis Numrico I - Curso 008

5.1. Mejor aproximacin


el menor posible, plantearemos que

ri = f (xi ) g(xi ),

para

0 i n,

es decir, que el residuo, sea mnimo. Como se trata de un vector, una forma de analizar este caso
es mediante las normas.

5.1.2. Error y normas


Para obtener una funcin que minimice este residuo, analizaremos que opciones disponemos,
a saber:
1. Que la norma uno del residuo sea mnima, es decir,

krk1

2. Que la norma innita del residuo sea mnima, es decir,

sea mnima;

krk

3. Que la norma dos (eucldea) del residuo sea mnima, es decir,

sea mnima;

krk2

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 errneos. Consiste en minimizar la siguiente expresin:

krk1 =

n
X

n
X

|ri | =

i=0

|f (xi ) y(xi )|

i=0

La segunda, es un caso de mnimo-mximo en la cual se tiene que:

max |f (xi ) y(xi )| .

mn

c0 ;c1 ;...;cm 0jn

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,

krk1 ,

krk

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:

v
v
u n
u n
uX 2 uX
t
krk2 =
|ri | = t
[f (xi ) y(xi )]2 ,
i=0
o, lo que es lo mismo,

krk22

n
X

i=0
n
X

|ri | =

i=0

[f (xi ) y(xi )]2 .

i=0

Como nuestra funcin la podemos expresar como:

y(x) =

m
X

cj j x,

j=0
tendremos que la expresin a minimizar es:

E (c0 ; c1 ; . . . ; cm ) =

n
X
i=0

f (xi )

m
X

2
cj j (xi ) ,

j=0

de ah el nombre de mtodo de los cuadrados mnimos, pues lo que se minimiza es el cuadrado


del residuo.
- 100 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

5. Mejor aproximacin y ajuste de funciones

5.1.3. Mtodo de los cuadrados mnimos


E(c0 ; c1 ; . . . ; cm )

Para obtener que la funcin

E
= 0,
cj

conocido: hacer que

puesto que

sea mnima, debemos aplicar un concepto

es funcin de los coecientes

cj .

En consecuencia,

tendremos que:

!2
n
m
X
X

=
f (xi )
ck k (xi ) = 0
cj
i=0
k=0
!2
m
n
X
X

f (xi )
ck k (xi )
= 0.
=
cj

E
cj

i=0

k=0

que si desarrollamos nos queda:

i=0

k=0

X
X
E
=2
f (xi )
ck k (xi )
cj

!
(j (xi )) = 0

para

j = 0; 1; . . . ; m.

Al distribuir el producto nos queda:

n
X
i=0
n
X

f (xi )j (xi )
f (xi )j (xi )

i=0

m
X

ck
k=0
n X
m
X

k (xi )j (xi )

ck k (xi )j (xi ) = 0

i=0 k=0
n X
m
X

ck k (xi )j (xi ) =

i=0 k=0
para

j = 0; 1; . . . ; m.

n
X

f (xi )j (xi ),

i=0

Como podemos intercambiar las sumatorias, nalmente nos queda:

m
X
k=0
para

=0

ck

n
X

k (xi )j (xi ) =

i=0

n
X

f (xi )j (xi ),

i=0

j = 0; 1; . . . ; m.
Avancemos un poco ms. Al desarrollar la sumatoria en

queda:

n
X

i del trmino de la izquierda, nos

k (xi )j (xi ) = k (x0 )j (x0 ) + k (x1 )j (x1 ) + . . . + k (xn )j (xn ).

i=0
Lo mismo podemos hacer con la sumatoria del trmino de la derecha, con lo que tenemos

n
X

f (xi )j (xi ) = f (x0 )j (x0 ) + f (x1 )j (x1 ) + . . . + f (xn )j (xn ).

i=0
Para facilitar la notacin, deniremos lo siguiente:

n
X

k (xi )j (xi ) = (k ; j )

i=0
n
X

f (xi )j (xi ) = (f ; j ).

i=0
Entonces, la expresin que nos queda es

m
X

ck (k ; j ) = (f ; j ),

k=0

Revisin: 11/2009

Resumen clases tericas

- 101 -

Anlisis Numrico I - Curso 008

5.1. Mejor aproximacin


para

j = 0; 1; . . . ; m. Ahora desarrollaremos la sumatoria en k , con lo cual obtenemos lo siguiente:


c0 (0 ; j ) + c1 (1 ; j ) + . . . + cm (m ; j ) = (f ; j ).

Como

j = 0; 1; . . . ; m,

entonces podemos armar

m+1

ecuaciones, lo que nalmente nos deja:

c0 (0 ; 0 ) + c1 (1 ; 0 ) + . . . + cm (m ; 0 ) = (f ; 0 )
c0 (0 ; 1 ) + c1 (1 ; 1 ) + . . . + cm (m ; 1 ) = (f ; 1 )
.
.
.

.
.
.

.
.
.

.
.
.

c0 (0 ; m ) + c1 (1 ; m ) + . . . + cm (m ; m ) = (f ; m ),
que podemos escribir tambin en forma matricial como

(0 ; 0 ) (1 ; 0 ) . . . (m ; 0 )
c0
(f ; 0 )
(0 ; 1 ) (1 ; 1 ) . . . (m ; 1 ) c1 (f ; 1 )

.. = .. .

.
.
.
..
.
.
.
. .

.
.
.
.
(0 ; m ) (1 ; m ) . . . (m ; m ) cm
(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

ck .

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 representamos nuestros puntos con la funcin elegida. Entonces nos queda:

f (x0 ) =
f (x1 ) =

m
X
k=0
m
X

ck k (x0 ) = c0 0 (x0 ) + c1 1 (x0 ) + . . . + cm m (x0 )


ck k (x1 ) = c0 0 (x1 ) + c1 1 (x1 ) + . . . + cm m (x1 )

k=0
.
.
.

f (xn ) =

m
X

ck k (xn ) = c0 0 (xn ) + c1 1 (xn ) + . . . + cm m (xn )

k=0
Si escribimos esto en foma matricial tenemos



f (x0 )
0 (x0 ) 1 (x0 ) . . . m (x0 )
c0
f (x1 ) 0 (x1 ) 1 (x1 ) . . . m (x1 ) c1



.. = ..
.. ,
. .
.
f (xn )
0 (xn ) 1 (xn ) . . . m (xn ) cm
que resulta ser un sistema de

incgnitas con

ecuaciones, donde

m < n,

en el cual no existe

una nica solucin. Si hacemos

f (x0 )
0 (x0 ) 1 (x0 ) . . . m (x0 )
f (x1 )
0 (x1 ) 1 (x1 ) . . . m (x1 )

f = . ; = .

..
..

f (xn )
0 (xn ) 1 (xn ) . . . m (xn )

c0
c1

c = . ,
..
cm

f = c. Como lo que buscamos es aproximar


r = f c. Al igual que en el desarrollo anterior, vamos
2
haciendo que krk2 sea mnimo. En consecuencia, tenemos

podemos decir que nos queda una ecuacin del tipo


una funcin, denamos el residuo como
a obtener nuestra nueva funcin

krk22 = kf ck22 .
- 102 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


Recordemos que

krk22 = rT r,

5. Mejor aproximacin y ajuste de funciones

entonces tendremos que

rT r = (f c)T (f c) .
De nuevo, para obtener que el residuo sea mnimo, anulemos la primera derivada, es decir,
hagamos


i
rT r
h
=
(f c)T (f c) = 0.
cj
cj

Al derivar nos queda

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

T f T c + f T cT T = 0.
Como

T f = f T

cT 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

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 )
A = T , x = c y B = T f , volvemos a tener nuestro sistema de
ecuaciones lineales en la forma A x = 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 ck
Si hacemos

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 obtenerla, basta que
observemos que

y(x) =

m
X

ci i (x) = c0 + c1 x,

i=0
es la recta que ajusta nuestros datos, con lo cual

0 = 1

1 = x.

El siguiente paso es armar la

matriz A. Sabemos que

(k ; j ) =

n
X

k (xi ) j (xi )

(f ; j ) =

i=0

Revisin: 11/2009

n
X

f (xi ) j (xi ),

i=0

Resumen clases tericas

- 103 -

Anlisis Numrico I - Curso 008

5.1. Mejor aproximacin


entonces podemos escribir las componentes de

n
X

(0 ; 0 ) =

i=0
n
X

(1 ; 0 ) =

como

11=n+1
xi 1 =

i=0

n
X

xi

i=0
n
X

(0 ; 1 ) = (1 ; 0 ) =

xi

i=0
n
X

(1 ; 1 ) =

n
X
(xi xi ) =
(xi )2

i=0
n
X

(f ; 0 ) =

i=0
n
X

(f ; 1 ) =

i=0

(f (xi ) 1) =

n
X

f (xi )

i=0

(f (xi ) xi ),

i=0
y nuestro sistema quedar de la siguiente manera:

n
X

n
X

xi  
f (xi )
n + 1

c0

i=0
i=0
n

n
.
n
X
c1 = X

2
xi
(xi )
(f (xi ) xi )
i=0
Despejando

c0

c1

i=0

i=0

obtenemos:

n
X

c0 =

(xi )2

i=0

n
X

f (xi )

i=0

(n + 1)

n
X

(f (xi ) xi )

i=0
n
X

(n + 1)

n
X

c1 =

(f (xi ) xi )

(n + 1)

n
X

(xi )

i=0
n
X

i=0
n
X

!2
xi
n
X

xi
i=0
i=0
n
X

(xi )2

i=0

xi

i=0

i=0

n
X

f (xi )

xi

i=0

Existen algunas variantes para este tipo de regresiones, que son:

ln(y) = ln(c0 ) + c1 ln(x) (y = c0 xc1 )


ln(y) = ln(c0 ) + c1 x (y = c0 ec1 x )
y = c0 + c1 ln(x),
que permiten ajustar valores segn distintas curvas. Sin embargo, las primeras expresiones no
son ajustes por cuadrados mnimos en un sentido estricto. Lo correcto sera proponer una funcin
del tipo

ci i (x)

en lugar de transformar los datos. (Para ms detalles, vase [1].)

i
Si ampliamos este esquema a una funcin polinmica de grado mayor o igual a 2, tendremos que

y(x) =

m
X
k=0

- 104 -

ck k (x) =

m
X

ck xk = c0 + c1 x + c2 x2 + . . . + cm xm .

k=0

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

5. Mejor aproximacin y ajuste de funciones

Al armar el sistema de ecuaciones nos quedar

n
X

xi
n+1

i=0
X
n
X
n

xi
x2i

i=0
i=0

.
.

.
.
.
.

X
n
n
X

xm1
xm
i
i

i=0
i=0
X
n
n
X

m
xi
xm+1
i
i=0

n
X

...

xm1
i

i=0
n
X

...

xm
i

.
.
.

...
...

n
X

2(m1)

xi

i=0
n
X

i=0

x2m1
i

i=0

xm
i

n
X

f (xi )

i=0

n

X

m+1
c

0
xi
(f
(x
)

x
)
i
i

i=0
1 i=0

.
.
.
. =
.
.
.
.
.
.

n
n
cm1 X
X

2m1
m1

xi
cm
(f (xi ) xi )

i=0

i=0

n
n
X
X

2m
m
xi
(f (xi ) xi )
i=0
n
X

i=0
..

n
X

i=0

i=0

La matriz de coecientes es similar a una matriz de Vandemonde, matriz que obtuvimos


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, para evitar que la mala condicin de la matriz sea un
problema. An as, trabajar con un polinomio de grado 5 conlleva trabajar con coecientes que
incluyen

x10 ,

lo que resulta casi equivalente a interpolar con polinomios de grado 10. Por esto,

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 numricos (discretos), con el objetivo de obtener valores de la funcin

f (x)

para valores de

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) =
en un intervalo

f (x)

ex cos(x)
,
ln(x) arctan(x)

[a, b]. Supongamos adems, que nuestro problema exige que integremos esa funcin

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 generalmente es el
resultado numrico 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.

Revisin: 11/2009

Resumen clases tericas

- 105 -

Anlisis Numrico I - Curso 008

5.2. Ajuste de funciones

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

P (x),

como el polinomio de aproximacin

en el intervalo

[a; b].

f (x)

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:

Z b"
f (x)

E(ak ) =
a

n
X

#2
dx = kr(ak )k22 ,

ak xk

k=0

entonces podemos ver que que el rea bajo la curva

r(ak )2

es el valor de nuestra integral. Por lo

tanto, para que nuestro error cuadrtico sea mnimo, deberemos buscar que la curva

r(ak )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(ak )

respecto de los coecientes

ak

para obtener

los valores, de dichos coecientes, que hagan mnimo el error cuadrtico, tal como hicimos para
el caso de un ajustse discreto. Entonces tendremos:

"
Z b

E (a0 ; a1 ; . . . , an )

=0
aj
aj

f (x)

n
X

#2
ak xk

k=0

dx

= 0.

Al derivar nos queda:

Z b"
f (x)

2
a

n
X

#
ak x

xj dx = 0,

k=0

y como el 2 no incide, nos queda:

Z b"
f (x)
a

n
X

#
ak xk xj dx = 0.

k=0

Si distribuimos el producto dentro de la integral, nos queda:

n
X
k=0
- 106 -

Z
ak

x
a

k+j

Z
dx =

xj f (x)dx

para

j = 0; 1; . . . ; n.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

5. Mejor aproximacin y ajuste de funciones

Qu es lo hemos obtenido? Nuevamente, como en la aproximacin de puntos discretos,

n+1n+1. Sin embargo, no todo es tan sencillo.


integral que afecta a los coecientes ak . Tenemos que:

un sistema de ecuaciones lineales de dimensin


Analicemos un poco ms en detalle la

b
k+j

x
a

b
Z b
xk+j+1
bk+j+1 ak+j+1
k+j
dx =
x
dx
=

k + j + 1 a
k+j+1
a

a=0

Si denimos que

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

Hilber t, 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
inconvenientes 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:

n
X

P (x) =

ak k (x),

k=0
En principio, no hemos hecho sino un cambio de notacin, llamando a

xk

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
X

Z
ak

k=0

Z
k (x)j (x)dx =

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:


k (x)j (x)dx =

a
donde

0
M >0

si
si

k 6= j
,
k=j

es un valor cualquiera. Por supuesto, lo ideal sera que

deben cumplir las

k (x)

M = 1.

Esta condicin que

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

Revisin: 11/2009

Resumen clases tericas

- 107 -

Anlisis Numrico I - Curso 008

5.2. Ajuste de funciones

diferentes grados de importancia a las aproximaciones de ciertas partes del intervalo. En esta
nueva situacin tenemos:

E (a0 ; a1 ; . . . , an )
=0
aj
aj

"

w(x) f (x)

n
X

#2
ak k (x)

dx

= 0,

k=0

con lo cual nalmente nos queda:

"

w(x) f (x)
a

n
X

#
ak k j dx = 0.

k=0

En este caso se debe cumplir que:

0
M 6= 0

w(x)k (x)j (x)dx =


a

w(x) = 1,

Si denimos que
y los

j (x).

k=
6 j
.
k=j

si
si

volvemos a tener nuestra expresin original para los

Y si, adems, el intervalo de interpolacin lo jamos en

mediante este procedimiento obtenemos los

[1, 1],

polinomios de Legendre .

k (x)

el resultado es que

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.
Para empezar, debemos proponer las dos primeras funciones

(x).

Estas funciones son:

0 (x) = 1; 1 (x) = x B1 1 (x) = (x B1 ) 0 (x).


donde

B1

es nuestra incgnita. Para obtenerla debemos plantear que:

Z
w(x)0 (x)1 (x) dx = 0

w(x)0 (x)0 (x) (x B1 ) dx = 0.

Distribuyendo en el parntesis, obtenemos:

w(x)[0 (x)]2 x dx B1

a
y entonces

B1

w(x)[0 (x)]2 dx = 0

podemos hallarla con:

w(x)[0 (x)]2 x dx

a
B1 = Z

b
2

w(x)[0 (x)] dx
a
Para los siguientes polinomios, es decir, cuando

k 2,

debemos proponer que:

k (x) = (x Bk ) k1 (x) Ck k2 (x)

en

[a; b].

Operando algebraicamente en forma similar a la anterior obtenemos los coecientes

Z
Ck

Ck :

x w(x)[k1 (x)]2 dx

a
Z

Bk =

Bk

w(x)[k1 (x)]2 dx

x w(x)k1 (x)k2 (x) dx


Z b
w(x)[k2 (x)]2 dx
a

- 108 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

5. Mejor aproximacin y ajuste de funciones

Como hemos dicho, la funcin de peso en el caso de los polinomios de Legendre es


intervalo

[1; 1],

w(x) = 1

y el

por lo que las expresiones quedan como sigue:

1. El coeciente

B1

se obtiene con:

x dx
B1 =

1
Z 1

;
dx

1
2. Los coecientes

Bk

se obtienen con la expresin

x [k1 (x)]2 dx

Bk = Z

1
2

[k1 (x)] dx
1
3. Y, nalmente, los coecientes

Ck

se obtienen con:

Z
Ck =

x k1 (x)k2 (x) dx
.
Z 1
2
[k2 (x)] dx
1

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
1
una funcin de peso diferente: w(x) =
.
1x2

5.3. Notas nales


Tanto la aproximacin discreta de curvas como el ajuste 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 polinomios 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.

Revisin: 11/2009

Resumen clases tericas

- 109 -

5.3. Notas nales

- 110 -

Anlisis Numrico I - Curso 008

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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 disponemos de las herramientas para trabajar
en forma simblica (analtica). Cuando slo contamos con datos obtenidos de mediciones o de
clculos previos, y no de funciones, no suele ser prctico trabajar en forma simblica. Obtener
la derivada de una funcin con datos discretos no tiene mucho 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 mediante mtodos numricos con
ayuda de varios ejemplos, analizando las ventajas y las desventajas de cada mtodo empleado
en la discretizacin 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

Hallar la derivada primera de


2
x .
b

f (x) respecto de x es un procedimiento sencillo pues resulta

ser

d f (x)
f (x) =
=
dx
0

Revisin: 11/2009

2
b


cos

Resumen clases tericas


2
x .
b
- 111 -

Anlisis Numrico I - Curso 008

6.1. Diferenciacin numrica


Si queremos conocer la derivada en el punto

b
6 entonces basta con reemplazar ese

x=

valor en la expresin anterior y tendremos que

f0

   

  
 
b
2
2 b
2
=
cos
=
cos
6
b
b 6
b
3

Si nalmente le damos un valor a

x=

b
6

=1

ser

f 0 (1) =

b,

 
3

(por ejemplo,

cos

 
3

b = 6),

el valor de nuestra derivada en

0, 5236
6

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 0 (x)

f (x + x) f (x)
x

que tambin suele escribirse como:

f 0 (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 0 (1)

f (1, 1) f (1)
=
0, 1
f 0 (1)

seno


 
1, 1 seno
3
3
0, 1

0, 9135 0, 8660
= 0, 4750
0, 1

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, proponemos otro algoritmo para hallar el valor buscado. Este algoritmo es

f 0 (x)

f (x) f (x x)
x

o, como tambin suele escribirse

f 0 (x)

f (x) f (x h)
h

Hallemos ahora el valor de la derivada utilizando este nuevo algoritmo. El resultados es

f 0 (1)

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

seno

 
3

seno


3

0, 9

0, 1

0, 8660 0, 8090
= 0, 5700
0, 1

De nuevo, el valor obtenido tampoco es una aproximacin muy buena, pues el error
cometido del orden del 8 %. Una vez ms, no estamos conformes con el resultado que nos arroj
este algoritmo y proponemos este otro

f 0 (x)

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

o tambin:

f 0 (x)
- 112 -

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

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Reemplazando los valores, tendremos:

f 0 (1)

f (1, 1) f (0, 9)
=
0, 2
f 0 (1)

seno




1, 1 seno
0, 9
3
3
0, 2

0, 9135 0, 8090
= 0, 5225
0, 2

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 6.1 se pueden ver las aproximaciones de la pendiente.

Figura 6.1: Pendiente segn cada aproximacin.


Hagamos una mejora escribindolo como:

f 0 (x)

f (x + h2 ) f (x h2 )
h

buscando mejorar la aproximacin del resultado buscado. Reemplazando tendremos:

seno
f (1, 05) f (0, 95)
f (1)
=
0, 1
0

f 0 (1)

2
6 1, 05

seno
0, 1

 2
6

(0, 95)

0, 8910 0, 8387
= 0, 5230
0, 1

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 0 (x) =
Revisin: 11/2009

f (x + h) f (x)
;
h

Resumen clases tericas

- 113 -

Anlisis Numrico I - Curso 008

6.1. Diferenciacin numrica


2.

Diferencias regresivas: cuando la derivada en punto se aproxima segn la expresin vista


en segundo trmino, o sea:

f 0 (x) =
3.

f (x) f (x h)
,
h

Diferencias centradas: cuando la derivada en un punto se aproxima segn la expresin


vista en ltimo trmino, o sea:

f 0 (x) =

f (x + h) f (x h)
.
2h

Como vimos, este ltimo esquema es el que mejor aproxima.


Analizaremos ahora el por qu de esta mejor aproximacin. Empecemos por el esquema
de diferencias progresivas. Si desarrollamos por Taylor la funcin

f (x + h) = f (x) + f 0 (x)
de la cual podemos despejar

f 0 (x),

f (x + h),

tendremos que

h
h2
h3
+ f 00 (x) + f 000 (x) + . . . ;
1!
2!
3!

que es

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

h3
h2
f 000 (x) . . . ;
2!
3!

h
h2
f (x + h) f (x)
f 00 (x) f 000 (x) . . . .
h
2!
3!
n
Si nuestro h es sucientemente pequeo, entonces los h para n 2 se pueden despreciar.
f 0 (x) =

Finalmente tendremos que

f 0 (x) =
con

[x; x + h].

f (x + h) f (x)
h
f (x + h) f (x)
f 00 () =
+ O(h);
h
2!
h

En este caso, nuestra aproximacin tiene un orden de convergencia

O(h).

Si repetimos el proceso para el esquema de diferencias regresivas, tendremos que

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

h
h2
h3
+ f 00 (x) f 000 (x) + . . . .
1!
2!
3!

Como en el caso anterior, la expresin nal ser

f 0 (x) =

h
f (x) f (x h)
f (x) f (x h)
+ f 00 () =
+ O(h).
h
2!
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

h
h2
h3
+ f 00 (x) + f 000 (x) + . . . ;
1!
2!
3!
2
h
h
h3
f (x h) = f (x) f 0 (x) + f 00 (x) f 000 (x) + . . . .
1!
2!
3!
f (x + h) = f (x) + f 0 (x)

Si hacemos

f (x + h) f (x h)

nos queda

f (x + h) f (x h) = 2f 0 (x)
Si despejamos

f 0 (x) =
- 114 -

f 0 (x)

h
h3
+ 2f 000 (x) + . . . .
1!
3!

de esta expresin, nos queda

f (x + h) f (x h)
h2
f (x + h) f (x h)
f 000 ()
=
+ O(h2 ),
2h
3!
2h
Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


esta vez con

6. Diferenciacin e integracin numrica

[x h; x + h].

Notemos que en este caso la convergencia es

O(h2 ),

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
que si hacemos el paso

(h)

O(h2 )

nos permite inferir

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

1. Diferencias progresivas:

con un nuevo paso,

f 0 (1) =

h = 0, 01,

seno( 3 1,01)seno( 3 )
0,01

2. Diferencias regresivas:

f 0 (1) =

seno( 3 )seno( 3 0,99)


0,01

3. Diferencias centradas:

f 0 (1) =

seno( 3 1,01)seno( 3 0,99)


0,02

para cada esquema.

0,87120,8660
0,01

0,86600,8607
0,01

= 0, 5200

= 0, 5300

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 result ser una
mejor aproximacin 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 inmediatamente 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

1.

h es cada vez ms chico, lo mismo pasa con la


f (x + h) f (x) o sus equivalentes. Esa diferencia se vuelve muy chica y es posible que

El problema es que a medida que el paso


operacin

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

x h,

y el desarrollo por Taylor para cada caso:

2h
4h2
8h3
16h4
32h5
+ f 00 (x)
+ f 000 (x)
+ f iv (x)
+ f v (x)
+ ...;
1!
2!
3!
4!
5!
h
h2
h3
h4
h5
f (x + h) = f (x) + f 0 (x) + f 00 (x) + f 000 (x) + f iv (x) + f v (x) + . . . ;
1!
2!
3!
4!
5!
2
3
4
h
h
h
h
h5
f (x h) = f (x) f 0 (x) + f 00 (x) f 000 (x) + f iv (x) f v (x) + . . . ;
1!
2!
3!
4!
5!
2
3
4
2h
4h
8h
16h
32h5
f (x 2h) = f (x) f 0 (x)
+ f 00 (x)
f 000 (x)
+ f iv (x)
f v (x)
+ ....
1!
2!
3!
4!
5!

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

En el captulo 1 vimos como ejemplo de la incidencia del error de redondeo en un algoritmo, el clculo de una
derivada numrica, y como, a partir de un valor del paso h, a medida que se haca ms chico, el error aumentaba.
Revisin: 11/2009

Resumen clases tericas

- 115 -

Anlisis Numrico I - Curso 008

6.1. Diferenciacin numrica


Primero hagamos

f (x + 2h) f /x 2h)

f (x + h) f (x h),

con las cual obtendremos

las siguientes igualdades:

h3
h5
h
+ 16f 000 (x) + 64f v (x) + . . . ;
1!
3!
5!
3
5
h
h
h
f (x + h) f (x h) = 2f 0 (x) + 2f 000 (x) + 2f v (x) + . . . .
1!
3!
5!

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

f 0 (x),
3
anulemos el trmino con h . Para ello, hagamos [f (x + 2h) f (x 2h)] 8 [f (x + h) f (x h)].
Si queremos mejorar la precisin de nuestros esquemas anteriores para calcular

As, nos queda la siguiente igualdad:

f (x + 2h) f (x 2h) 8f (x + h) + 8f (x h) = 12f 0 (x)h + 48f v (x)


f 0 (x),

De esta ltima expresin podemos despejar

f 0 (x) =
y si truncamos en

que resulta ser:

f (x 2h) 8f (x h) + 8f (x + h) f (x + 2h)
h4
+ 4f v (x) + . . . ;
12h
5!
h4 ,

f 0 (x) =
con

h5
+ ....
5!

nos queda:

h4
f (x 2h) 8f (x h) + 8f (x + h) f (x + 2h)
+ f v () .
12h
30

[x 2h; x + 2h]

y un orden de convergencia

O(h4 ).

Con esta ltima expresin podemos

decir que una aproximacin de la primera derivada en un punto esta dada por:

f 0 (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 0 (x = 1) =

seno

f 0 (x = 1) =

3 0, 8

8 seno

3 0, 9

+ 8 seno
12 h

3 1, 1

seno

3 1, 2

0, 7431 6, 4721 + 7, 3084 0, 9511


0, 6283
=
= 0, 5236
12 0, 1
1, 2

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 usamos 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 desventaja 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 polinomios 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?
- 116 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Figura 6.2: Aproximacin por polinomios de Taylor.

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

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),
donde

es el valor buscado,

N (h),

la aproximacin de

Supongamos que podemos expresar nuestra

E(h)

M , E(h),

el error cometido y

h,

el paso.

de la siguiente forma:

E(h) = K1 h + K2 h2 + K3 h3 + . . . .
Anlogamente al caso anterior, para un
(I)

Como

h1 = qh2

el valor buscado se podr expresar como

M = N1 (h1 ) + K1 h1 + K2 h21 + K3 h31 + . . . .

Hagamos lo mismo pero para un


(II)

h1

h2

tal que

q=

h1
h2 . Entonces tendremos:

M = N1 (h2 ) + K1 h2 + K2 h22 + K3 h32 + . . . .

podemos escribir (I) como:


(III)

M = N1 (h1 ) + K1 qh2 + K2 (qh2 )2 + K3 (qh2 )3 + . . . .

Para mejorar el orden de aproximacin de nuestro resultado, anulemos el trmino lineal de


decir, multipliquemos por

qM M
qM M

h,

es

a (II) y luego restmosle (III):



= qN1 (h2 ) N1 (h1 ) + qK1 (h2 h2 ) + qK2 h22 qh22 + qK3 h32 q 2 h32 + . . .


= qN1 (h2 ) N1 (h1 ) + qK2 h22 qh22 + qK3 h32 q 2 h32 + . . . .

Si despejamos

M,

tendremos la siguiente expresin:


(q 1)N1 (h2 ) N1 (h2 ) N1 (h1 ) qK2 h22 (q 1) qK3 h32 q 2 1
+

+ ...
M=
q1
q1
q1
q1
Revisin: 11/2009

Resumen clases tericas

- 117 -

Anlisis Numrico I - Curso 008

6.1. Diferenciacin numrica


en la que podemos expresar

M = N1 (h2 ) +
|

como:

N1 (h2 ) N1 (h1 )
qK2 h22 q (q + 1) K3 h32 + . . . .
q1
{z
}
N2 (h1 )

Al denir

N2 (h1 ) = N1 (h2 ) +

N1 (h2 ) N1 (h1 )
,
q1

nos queda que:

M = N2 (h) + K20 h2 + K30 h3 + . . . ,


con

K20 = qK2 ;
K30 = q(q + 1)K3 ;
...

Repitamos el proceso tomando nuevamente

h1

h2 ,

entonces tenemos:

(IV)

M = N2 (h1 ) + K20 h21 + K30 h31 + . . . .

(V)

M = N1 (h2 ) + K20 h22 + K30 h32 + . . . .

Al igual que en el paso anterior, impondremos que

q=

h1
h2 , y reescribamos (IV) de la siguiente

forma:
(VI)

M = N2 (h1 ) + K20 (qh2 )2 + K30 (qh2 )3 + . . . .

Anlogamente al caso anterior, mejoremos nuestra aproximacin anulando en este caso


el trmino cuadrtico de

h,

multiplicando por

q2

a (V) para luego restarle (VI):

q2M M


= q 2 N2 (h2 ) N2 (h1 ) q 2 K20 h22 h22 + q 2 K30 h32 (q 1) + . . .

q2M M

= q 2 N2 (h2 ) N2 (h1 ) + q 2 K30 h32 (q 1) + . . .

De la misma forma que para el caso anterior, obtenemos una nueva aproximacin para

M
M=

(q 2 1)N2 (h2 ) N2 (h2 ) N2 (h1 ) q 2 K30 h32 (q 1)


+
+
+ ...
q2 1
q2 1
q2 1
M = N2 (h2 ) +
|

N2 (h2 ) N2 (h1 ) q 2 K30 h32


+
+ ....
q2 1
q+1
{z
}
N3 (h1 )

h1 es
 3

Una segunda forma de escribir esto ltimo en funcin de


M = N2
|

h1
q

N2

h1
q

N2 (h1 )
+

q2 1
{z

q 2 K30

h1
q

q+1

+ ...,

N3 (h1 )

es decir, nos queda

M = N3 (h1 ) + K300 h31 + . . . ;


con

K300 =

K30
;...,
q(q + 1)

aproximacin que resulta mejor que la anterior.


- 118 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Finalmente, podemos generalizar el mtodo de aproximacin de la siguiente forma:

 
h
  N
j1
q Nj1 (h)
h
+
Nj (h) = Nj1
.
q
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 integracin
numrica.

q = 2, cuya expresin

 
Nj1 h2 Nj1 (h)
h
+
Nj (h) = Nj1
.
2
2j1 1

Un caso particular muy usado es cuando

general se dene como:

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
en

x=1

f (x) = seno

3x

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,
sea la derivada calculada numricamente con

h,

N1 (h)

que ocupar la primera columna. Usaremos la

expresin:

Las dems
valores de

h,



 
seno
(x
+
h)

seno
f
(x
+
h)

f
(x)
3
3x
f 0 (x)
=
.
h
h
columnas sern N2 (h), N3 (h) y N4 (h). En segundo lugar,

tomaremos varios

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:


 
Nj1 h2 Nj1 (h)
h
Nj (h) = Nj1
+
.
2
2j1 1

En la tabla 6.1 tenemos los resultados obtenidos al aplicar la extrapolacin de Richardson


a nuestro ejemplo.
Tabla 6.1: Extrapolacin de Richardson

hi

yi0 = N1

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

N2

N3

N4

0,5235

Analicemos rpidamente los resultados obtenidos. La primera columna contiene los resultados de aproximar la derivada con varios
relativamente pequeo (h

= 0, 025)

diferentes. Vemos que a pesar de utilizar un

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 aproximacin
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) decimales. 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 trabajar
con ms decimales, puesto que para

h = 0, 01

el valor de

f 0 (1)

es 0,5200, que si bien tiene dos

decimales correcto, es menos preciso que el hallado con Richardson.

Revisin: 11/2009

Resumen clases tericas

- 119 -

Anlisis Numrico I - Curso 008

6.1. Diferenciacin numrica

Figura 6.3: Aproximacin con

N1 .

Figura 6.4: Aproximacin con

N2 .

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.
Si bien aplicamos este mtodo para obtener una derivada numrica, puede aplicarse para
cualquier caso que cumpla la condicin:

M = N (h) + K1 h + K2 h2 + K3 h3 + . . . .
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

en un algoritmo dado puede conducir

a resultados de menor precisin o, en trminos numricos, inservibles; en consecuencia, no es


conveniente reducir el paso
- 120 -

suponiendo que eso mejora la aproximacin buscada.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Figura 6.5: Aproximacin con

N3 .

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
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 00 (x) =

f (x h) 2f (x) + f (x + h)
.
h2

que se obtiene de considerar los polinomios de Taylor para

xh

x + h.

Efectivamente, al

desarrollar ambos polinomios tendremos

h
h2
h3
+ f 00 (x)
+ f 000 (x)
+ ...;
1!
2!
3!
h
h2
h3
f (x h) = f (x) f 0 (x) + f 00 (x)
f 000 (x)
+ ....
1!
2!
3!
f (x + h) = f (x) + f 0 (x)

Si sumamos ambos polinomios obtenemos:

h4
+ ...;
12
h2
f (x h) 2f (x) + f (x + h)
iv
f 00 (x) =

f
[]
;
h2
12
f (x h) 2f (x) + f (x + h)
f 00 (x) =
+ O(h2 ),
h2

f (x + h) + f (x h) = 2f (x) + f 00 (x)h2 + f iv (x)

con

[x h; x + h).
Observemos que el error cometido al calcular la derivada segunda con la expresin dada

es proporcional a

h2

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.

Revisin: 11/2009

Resumen clases tericas

- 121 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica

Mediante razonamientos anlogos o similares pueden obtenerse algoritmos para calcular


derivadas numricas de orden superior. Sin embargo, a medida que se aumenta el orden de la
derivada, aumenta el exponente de

h,

y con ello, la inestabilidad del algoritmo. Calcular una

derivada numrica de mayor orden puede llevar a que obtengamos valores poco satisfactorios
o directamente intiles, si el paso

elegido se demasiado pequeo. Algo de esto se ver ms

adelante cuando tratemos la resolucin de ecuaciones diferenciales.

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, analizando 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.
la integral

Dada una funcin

I(f ) =

Rb
a

f (x)dx

f (x)

denida en

[a; b],

se denomina cuadratura numrica de

a una frmula tal que:

Qn (f ) =

n
X

ci f (xi ) ;

i=1

ci < y xi [a; b]. Los puntos xi se denominan puntos de cuadratura (o races) y los
valores ci , coecientes de cuadratura o de peso. Asimismo, se dene el error de la cuadratura
como En (f ) = I(f ) Qn (f ).
con

Denicin 6.2.
k = 0; 1; . . . ; m

Una cuadratura numrica tiene grado de precisin

En

Observacin 6.2.1.
0

xm+1

pk (x)

si

En (xk ) = 0

para

6= 0.

Si una cuadratura numrica tiene grado de precisin

para todo polinimio

Denicin 6.3.

de grado menor o igual a

m, entonces En (pk ) =

m (k m).

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.

Para empezar, podemos hacer dos aproximaciones muy groseras como se puede apreciar
en las guras 6.7(a) y 6.7(b):
- 122 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Figura 6.6: rea bajo la curva.

(a) Por defecto

(b) Por exceso

Figura 6.7: Aproximacin por rectngulos.

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 aproximaciones se pueden expresar matemticamente como:

Qn (f ) = f (a)(b a);
para el caso (a) y,

Qn (f ) = f (b)(b a);
para el caso (b).
Otra forma de aproximar el rea la vemos en la gura 6.8:
En este caso particular, no parece que esta aproximacin sea mucho mejor, puesto que
hay un rea excedente en color claro. La expresin matemtica para este caso es:

Qn (f ) =

f (b) + f (a)
(b a).
2

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):

Revisin: 11/2009

Qn (f ) = h f (a);

Resumen clases tericas

- 123 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica

Figura 6.8: Aproximacin por trapecios.

Aproximacin por rectngulos (exceso):

Aproximacin por trapecio:

Qn (f ) =

h
2

Qn (f ) = h f (b);

[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. Al desarrollar

f (x)

respecto del punto

mediante una serie de Taylor, tenemos que

f (x) = f (a) + f 0 (a)(x a) + f 00 (a)

(x a)2
+ ....
2

Para obtener la integral basta con integrar la serie tambin. Entonces tenemos que

Z
f (x)dx =

f (a)(x a)dx +

f (a)dx +
a

f 00 (a)

(x a)2
dx + . . . .
2

Si integramos y truncamos en el trmino de la derivada primera, nos queda

f (x)dx = f (a)(b a) + f 0 ()

a
con

[a; b].

h=ba

Como

(b a)2
,
2

nos queda

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

ba 0
h2
= h f (a) +
f () h,
2
2 | {z }
O(h)

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

2
el polinomio de Lagrange y su error . En este caso tenemos que

f (x) = f (a)
2

a y b usando

xa
(x a)(x b)
xb
+ f (b)
+ f 00 ()
.
ab
ba
2

Otro camino es truncar el desarrollo por Taylor del rectngulo en el trmino que contiene a f 00 (a).

- 124 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Integremos el polinomio obtenido; as nos queda

f (x)dx =
a

=
=
Z

f (x)dx =
a
nuevamente con

Z
Z
Z b
f (b) b
(x a)(x b)
f (a) b
(x b)dx +
(x a)dx + f 00 ()
dx
ab a
ba a
2
a
f (a) + f (b)
(b a)3
(b a) f 00 ()
2
12
3
f (a) + f (b)
h
h f 00 ()
2
12
f (a) + f (b)
b a 00 h2
h
f () ,
2
2
6

[a; b].

Lo que hemos obtenido es un mtodo cuyo error es proporcional a la

derivada segunda, o sea, mejoramos nuestra aproximacin.


Analicemos ahora una segunda mejora. Supongamos que podemos calcular la funcin en

x=

a+b
2 , es decir, podemos obtener

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 el rea aproximada es mayor que el rea buscada, lo que

Figura 6.9: Aproximacin por arcos de parbola cuadrtica.

signica que obtendremos un valor por exceso.


La aproximacin usando parbolas de segundo grado es la conocida frmula de Simpson,
cuya expresin matemtica es:

Qn (f ) =




h
a+b
f (a) + f (b) + 4 f
.
3
2

Analicemos el error cometido con esta nueva expresin. Tomemos nuevamente nuestro
desarrollo de Taylor pero a partir del punto
cuarta. Entonces nos queda

f (x) = f (x1 ) + f 0 (x1 )(x x1 ) + f 00 (x1 )


con

x1 =

a+b
2

y cortemos la expresin en la derivada

(x x1 )2
(x x1 )3
(x x1 )4
+ f 000 (x1 )
+ f iv (1 )
,
2
6
24

1 [a, b].

Revisin: 11/2009

Resumen clases tericas

- 125 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica


Si integramos nuevamente nos queda

Z b
(x x1 )2
dx +
f 0 (x1 )(x x1 )dx +
f 00 (x1 )
2
a
a
a
Z b
Z b
(x x1 )3
(x x1 )4
000
+
f (x1 )
dx +
f iv (x1 )
dx
6
24
a
a
b
b
(x x1 )2
(x x1 )3
0
00
= f (x1 )(b a) + f (x1 )
+ f (x1 )
+
2
6
a
a
b
b
5
4


(x x1 )
(x x1 )
+ f iv (1 )
+f 000 (x1 )

24
120 a
a
Z

f (x)dx =
a

f (x1 )dx +

Ahora tomemos que

h = b x1 = x1 a.

Entonces nos queda

f (x)dx = f (x1 )2h + f 00 (x1 )

a
Aproximemos la derivada segunda en

x1

h3
h5
+ f iv (1 ) .
3
60

mediante una derivada discreta, como la vista

en diferenciacin numrica. Dado que esta aproximacin debe tener un error de truncamiento
similar a nuestra aproximacin de la integral, usaremos la derivada por diferencias centradas,
que tambin es proporcional a

f iv (2 ):

f 00 (x1 ) =
con

f (a) 2f (x1 ) + f (b) h2 iv


f (2 ),
h2
12

2 [a; b].
Al reemplazarla en la frmula de integracin, nos queda

f (a) 2f (x1 ) + f (b) h3


h5
h5
iv
iv

f
(
)
+
f
(
)
2
1
h2
3
36
60
5
h
h
[f (a) + 4f (x1 ) + f (b)] f iv ()
3


 90
h
a+b
b a f iv () 4
f (a) + 4f
+ f (b)
h ,
3
2
2
90

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


a

=
=
con

[a; b].

Usualmente el trmino de error de dene como:

E(h) = M h4 ,
de ah que el orden de convergencia sea

con

M=

b a iv
f (),
180

O(h4 ).

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):


Aproximacin por rectngulo (exceso):
Aproximacin por trapecios:
Aproximacin por Simpson:

Qn (x) = 2 f (1).
Qn (x) = 2 f (1).

Qn (x) = 1 f (1) + 1 f (1).


Qn (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
- 126 -

ci

y un valor de

xi ,

que son los siguientes:

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

c1 = 2, x1 = 1.

Aproximacin por rectngulo (defecto):


Aproximacin por rectngulo (exceso):
Aproximacin por trapecios:
Aproximacin por Simpson:

c1 = 2, x1 = 1.

c1 = c2 = 1, x1 = 1, x2 = 1.
c1 = c3 =

1
3,

c2 =

4
3,

x1 = 1; x2 = 0; x3 = 1;

con lo cual podemos escribirlos segn la forma general denida como cuadratura numrica :

n
X

Qn (f ) =

ci f (xi ) ;

i=1
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 ltima), 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 ms chico,
tomando

h=

ba
2 . Ahora podemos aproximar la integral con dos subintervalos, tanto por defecto

como por exceso, que resultan ser

[a; a + h]

[a + h; b],

con los cuales se obtienen las siguientes

aproximaciones:

Qn (f ) = h f (a) + h f (a + h);
o

Qn (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.

Si hacemos un desarrollo similar con la frmula del trapecio, tomando el mismo paso
(h

ba
2 ), y por ende, los mismos subintervalos, tendremos:





h
h
h
a+b
Qn (f ) = [f (a) + f (a + h)] + [f (a + h) + f (b)] =
f (a) + 2f
+ f (b) .
2
2
2
2
Revisin: 11/2009

Resumen clases tericas

- 127 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica

Figura 6.11: Aproximacin compuesta por trapecios.

La aproximacin obtenida se puede ver en el gura 6.11, que resulta ser una aproximacin
por defecto.
Al igual que en los casos anteriores, podemos mejorar la aproximacin de la frmula de
Simpson usando la misma tcnica. Si dividimos nuestro intervalo inicial en dos, de manera de
trabajar con dos subintervalos y denimos

Qn (f ) =

h=

ba
4 , tendremos la nueva aproximacin:

h
h
[f (a) + f (a + 2h) + 4 f (a + h)] + [f (a + 2h) + f (b) + 4 f (a + 3h)] .
3
3

Podemos simplicar la expresin para que nos quede una ms general:

Qn (f ) =

h
[f (a) + f (b) + 2 f (a + 2h) + 4 f (a + h) + 4 f (a + 3h)] .
3

El resultado de aplicar esta frmula, como se puede ver en la gura 6.12, muestra que la aproximacin obtenida es muy precisa, y que el resultado es muy cercano al exacto.

Figura 6.12: Aproximacin compuesta por Simpson.

Podemos generalizar las expresiones de los mtodos para

subintervalos:

Rectngulos:

Qn (f ) = h

n1
X

f (a + i h),

i=0
- 128 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Qn (f ) = h

"n1
X

#
f (a + i h) + f (b) ,

i=1
con

h=

ba
n ;

Trapecios:

"
#
n1
X
h
Qn (f ) =
f (a) + f (b) + 2
f (a + i h) ,
2
i=1

tambin con

h=

ba
n ; y

Simpson:

h
Qn (f ) =
3
con

h=

ba
2n y

(
f (a) + f (b) + 2

n1
X

f (a + 2i h) + 4

i=1

n
X

)
f [a + (2i 1) h]

i=1

n = 1; 2; 3; . . . ; k .

Estas frmulas permiten mejorar la precisin reduciendo el paso

h.

En particular, en el

caso del mtodo compuesto de Simpson, el error se dene como

E(h) =
con

[a; b].

b a iv
f ()h4 = M h4 ,
180

con

M=

b a iv
f (),
180

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(h4 ).

Sin embargo, esta metodologa tiene una desventaja. A medida que achicamos el paso
aumentamos notablemnte la cantidad de operaciones que debemos 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

h,

el tamao del paso

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 resultados, analicemos el error que se comete al aplicar cualquiera de las frmulas de cuadratura vistas
en los puntos anteriores. En forma general, la aproximacin la podemos expresar de la siguiente
forma:

Z
I(f ) =

f (x)dx =
a

Z bX
n

Z
f (xi )Li (x)dx +

a i=1

n
X

ci f (xi ) +

|i=1 {z

Qn (f )

Revisin: 11/2009

1
n!

f (n) [(x)]

f (n) [(x)] Y
(x xi )dx
n!
i=1

n
Y

(x xi )dx;

i=1

Resumen clases tericas

- 129 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica


y, como vimos al principio, el error est dado por:

En (f ) = I(f ) Qn (f ) =

1
n!

f (n) [(x)]

n
Y

(x xi )dx.

i=1

Para cada uno de los mtodos tenemos:

Rectngulos:
Trapecios:
Simpson:

ba
2

E1 (f ) =

f 0 () h.

00
2
E2 (f ) = ba
12 f ()h .

iv
4
E3 (f ) = ba
90 f ()h .

Notemos que las aproximaciones mediante cualquiera de las frmulas vistas se pueden
expresar como:

= N (h) + K1 h + K2 h2 + K3 h3 + . . .

M N (h) = E(h) = K1 h + K2 h2 + K3 h3 + . . .
lo que nos permite aplicar el mtodo de extrapolacin de Richardson, visto para diferenciacin
numrica. En el caso particular del mtodo compuesto del trapecio, el error puede expresarse
mediante potencias pares de

3:

E(h) = K1 h2 + K2 h4 + . . . + Ks h2s + O(h2s+1 ).


Esto nos induce a generar una adaptacin de este mtodo a la integracin, que se conoce como

mtodo de Romberg.

El desarrollo para obtenerlo es el siguiente. Partamos de la frmula

compuesta del trapecio:

"
#
n1
X
h
f (a) + f (b) + 2
f (a + i h) ;
Qn (f ) =
2
i=1

y de acuerdo con lo visto, denamos que:

"
#
n1
X
h
b a 2 00
I(f ) =
h f ();
f (a) + f (b) + 2
f (a + i h)
2
12
i=1

con

a<<b

h=

ba
n .

Para empezar, obtengamos todas las aproximaciones para m1 = 1, m2 = 2, m3 = 4, . . . , mn =


2n1 , con n positivo. En consecuencia, tendremos un hk para cada valor de mk que estar denido
ba
ba
como hk =
mk = 2k1 . De esta forma podemos expresar la regla del trapecio como:

2k1
X1
hk
b a 2 00
f (a) + f (b) + 2
f (a + i hk )
h f (k ).
I(f ) =
2
12 k

i=1

Denamos ahora que:

2k1
X1
hk
Rk,1 (hk ) =
f (a) + f (b) + 2
f (a + i hk ) ;
2
i=1

y con esta nueva frmula obtengamos los distintos

R1,1 =
3

Rk,1 .

En efecto, para

k=1

tenemos que

h1
ba
[f (a) + f (b)] =
[f (a) + f (b)] ,
2
2

Aunque el desarrollo algebraico es bastante laborioso y complejo.

- 130 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


con

h1 = b a.

Para el caso de

6. Diferenciacin e integracin numrica

k=2

tenemos que

h2
[f (a) + f (b) + 2f (a + h2 )]
2



ba
ba
f (a) + f (b) + 2f a +
4
2

R2,1 =
=

1
#
z }| {
1 ba
ba
(f (a) + f (b)) +
6 2f (a + h2 )
2 | 2
62
{z
}

"

R1,1

1
[R1,1 + h1 f (a + h2 )] ,
2

=
con

h2 =

ba
.
2

Anlogamente, para

R3,1 =

k = 3, h3 =

ba
,
4

con lo que nos queda

o

h3 n
f (a) + f (b) + 2 f (a + h3 ) + f (a + 2h3 ) + f (a + 3h3 )
|{z}
2
h2

=
=

ba
{f (a) + f (b) + 2f (a + h2 ) + 2 [f (a + h3 ) + f (a + 3h3 )]}
8
1
{R2,1 + h2 [f (a + h3 ) + f (a + 3h3 )]} .
2

Si generalizamos para todos los

Rk,1

k,

tenemos que

k2
2X

1
=
Rk1;1 + hk1
f [a + (2i 1)hk ] .

2
i=1

Cada uno de estos

Rk,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:

Rk,2 = Rk,1 +
con

k = 2; 3; . . . ; n.

Con esta nueva expresin obtenemos un nuevo conjunto de aproximaciones,

h4 ,

cuyo orden de convergencia es proporcional a


Si generalizamos para

j : 3; 4; . . . ; n,

es decir, es similar al mtodo de Simpson.

obtenemos la siguiente expresin:

Rk,j = Rk,j1 +
con

Rk,1 Rk1;1
;
41 1

Rk,j1 Rk1;j1
;
4j1 1

k = 2; 3; . . . ; n y j = 2; 3; . . . ; k . Al aplicar este mtodo, generamos una tabla


Rk,j es una mejor aproximacin del resultado, siendo la mejor el Rn,n .

como la 6.2,

donde cada

La ventaja de este mtodo es que nos permite calcular una nueva la con slo 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

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
cumplir que

aplicarle el mtodo de Romberg.

Revisin: 11/2009

Resumen clases tericas

- 131 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica

Tabla 6.2: Mtodo de Romberg

R1,i
R1,1
R2,1
R3,1

R2,i

R3,i

R2,2
R3,2

R3,3

.
.
.

.
.
.

.
.
.

..

Rn,1

Rn,2

Rn,3

...

...

Rn,i

Rn,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:

Qn (f ) = (b| {z
a}) f (c) = h f (c).
h

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 Simpson, 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
- 132 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


equidistantes

6. Diferenciacin e integracin numrica

4 . 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 en la
curva de manera de optimizar la aproximacin de la integral buscada.

6.2.4. Cuadratura de Gauss


Recordemos la frmula para una cuadratura:

Qn (f ) =

n
X

ci f (xi ) .

i=1
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 que optimizan la integral buscada a aquellos en los cuales la
funcin se intersecta con la curva de aproximacin. Entonces, nuestro problema es elegir la curva
ms conveniente. Por ejemplo, en la gura 6.14 eligimos una parbola, y, entonces, tenemos
dos puntos en los cuales se intersecta con la funcin. Podramos haber utilizado una recta, una
parbola cbica, etc.
En los mtodos anteriores, para obtener la integral buscada, hemos utilizado puntos
conocidos o que podamos conocer a partir de denir el paso

h. Por ejemplo, en el mtodo del


x1 y x2 , de manera que nuestra

trapecio utilizamos dos puntos para aproximar nuestra integral,


aproximacin queda de la siguiente manera:

I(f ) =

h
[f (x1 ) + f (x2 )] .
2

De la frmula de cuadratura podemos extraer que, si denimos que

h = b a,

donde

[a; b]

es

nuestro intervalo de integracin, para el caso del mtodo del trapecio tendremos que:

x1 = a, x2 = b, c1 = c2 =

ba
.
2

Supongamos ahora que denimos un intervalo jo de integracin, por ejemplo, el


En vez de jar los valores

xi ,

[1, 1].

armemos una aproximacin de nuestra integral de manera tal

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.
Revisin: 11/2009

Resumen clases tericas

- 133 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica

que dispongamos de ms variables para aproximar nuestra integral. En esta nueva situacin

xi y los coecientes ci para nuestra frmula de


cuadratura, esto es, debemos buscar los puntos x1 ; x2 ; . . . ; xn y los coefcientes c1 ; c2 ; . . . ; cn que
optimicen nuestra aproximacin. En consecuencia, tenemos 2n incgnitas que debemos obtener.
Si recordamos que un polinomio de grado 2n 1 tiene 2n coecientes (por ejemplo, un
2
3
polinomio de tercer grado tiene la forma a0 + a1 x + a2 x + a3 x ), podramos decir que hallar

debemos obtener para ese intervalo los puntos

esos parmetros para nuestra frmula de cuadratura es equivalente a obtener los coecientes de
ese polinomio de grado

2n 1.

Por ejemplo, si tomamos aproximamos

f (x)

con una parbola cbica, tendremos que:


a0 + a1 x + a2 x2 + a3 x3 dx.

f (x) dx c1 f (x1 ) + c2 f (x2 ) =


a

a
Notemos que debe cumplirse que



c1 a0 + a1 x1 + a2 x21 + a3 x31 + c2 a0 + a1 x2 + a2 x22 + a3 x32 =


a0 + a1 x + a2 x2 + a3 x3 dx,

a
de lo que resulta un sistema de ecuaciones no lineales:

dx = b a

c1 + c2 =
a

c1 x21 + c2 x22
c1 x31 + c2 x32
Si obtenemos los valores de

ci

y de

2
a2
a
Z b
b3 a3
=
x2 dx =
3
a
Z b
4
b a4
=
x3 dx =
.
4
a

c1 x1 + c2 x2 =

x dx =

b2

xi ,y los reemplazamos en la funcin original, podemos calcular

nuestra integral.
Gauss deni estos polinomios para aproximar la integral, en el intervalo
los

ci

xi

[1; 1] y obtuvo

para la cantidad de puntos que se deseen utilizar o, lo que es lo mismo, del grado del

polinomio de aproximacin. Estos polinomios son ortogonales y conocidos como polinomios de

Legendre, y son los siguientes:

P0 (x) = 1
1
P2 (x) = (3x2 1)
2
1 dk 2
Pk (x) = k
(x 1)k .
2 k! dxk

P1 (x) = x
1
P3 (x) = (5x3 3x)
2

xi . Con stos y la ayuda de un polinomio


[1; 1], obtenemos los coecientes ci . (En [1]

La raz de cada polinomio resultan ser los puntos


interpolante de Lagrange integrado en el intervalo

se pueden ver ms detalles de cmo obtener los coecientes de peso.)


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.
Este mtodo es muy til cuando lo que queremos aproximar son integrales de funciones
polinmicas, puesto que los resultados son exactos cuando
polinomio a integrar y

g 2n 1,

donde

la cantidad de puntos de Gauss. Por ejemplo, con

g es el grado del
n = 2, es decir,

con dos puntos de Gauss, podemos aproximar cualquier integral de polionomios cuyo grado sea
menor o igual a tres, pues se cumple que
- 134 -

g = 3 2 2 1.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

Tabla 6.3: Races y coecientes de la cuadratura de Gauss-Legendre

n
1
2

xi
x1
x1
x2
x1
x2
x3
x1
x2
x3
x4
x1
x2
x3
x4
x5

= 0.0000000000
= 13 = 0.5773502692
= 13 = 0.5773502692
= 0.7745966692
= 0.0000000000
= 0.7745966692
= 0.8611363116
= 0.3399810436
= 0.3399810436
= 0.8611363116
= 0.9061798459
= 0.5384693101
= 0.0000000000
= 0.5384693101
= 0.9061798459

Si el intervalo de integracin no es

[1; 1],

ci
c1
c1
c2
c1
c2
c3
c1
c2
c3
c4
c1
c2
c3
c4
c5

= 2.0000000000
= 1.0000000000
= 1.0000000000
= 0.5555555556
= 0.8888888889
= 0.5555555556
= 0.3478548451
= 0.6521451549
= 0.6521451549
= 0.3478548451
= 0.2369268850
= 0.4786286705
= 0.5688888889
= 0.4786286705
= 0.2369268850

basta con hacer un cambio de coordenadas. Si

tenemos la siguiente integral:

I(f ) =

f (x) dx,
a

debemos hacer la siguiente transformacin lineal para poder aproximar con cuadratura de Gauss:

x=

ba
b+a
ba
t+
; I(f ) =
2
2
2

f (t) dt.
1

Finalmente, una cuestin a tener en cuenta es el error cometido al aproximar una integral
mediante cuadratura de Gauss. La expresin del error el intervalo

E=
donde

[a; b],

[1; 1]

est dado por

22n+1 (n!)4
f 2n (),
(2n + 1)[(2n)!]2

es el nmero de puntos utilizados y

[1, 1].

Si ampliamos el mtodo al intervalo

tenemos que el error est dado por

E=

(b a)2n+1 (n!)4 2n
f (),
(2n + 1)[(2n)!]2

[a, b]. Vemos que en ambos casos el error cometido


2n. Por ejemplo, si n = 2, entonces el error cometido es
iv
(f ()), pues tenemos
con

es proporcional a la derivada de

orden

proporcional a la derivada cuarta

E=

(b a)22+1 (2!)4 22
(b a)5 (2!)4 iv
f
()
=
f ().
(2 2 + 1)[(2 2)!]2
5(4!)2

Esto conrma que con dos puntos de Gauss (n

= 2)

obtenemos una integral exacta para

polinomios de grado 3 o menor, pues en esos casos se cumple que

iv
por lo tanto, tambin para f () con

Revisin: 11/2009

f iv (x) = 0

para cualquier

x,

[a, b].

Resumen clases tericas

- 135 -

Anlisis Numrico I - Curso 008

6.2. Integracin numrica

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

no mayor a 3, con excelentes resultados.

Como hemos dicho, el mtodo es muy bueno para aproximar integrales sobre todo de
funciones polinmicas. El mtodo pierde practicidad si no conocemos la funcin (por ejemplo,
solo conocemos puntos), y si debemos programar una base de datos con todas las races de los
polinomios de Legendre con sus coecientes de peso.

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:

ZZ
f (x; y)dA,
A
donde

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 Z b


f (x; y)dx dy.

c
Integremos respecto a

usando el mtodo del trapecio. De esta manera obtendremos

f (x; y)dx
a

ba
[f (a; y) + f (b; y)] .
2

Reemplacemos esta expresin en la integral doble y hagamos lo mismo pero respecto a

y.

Entonces nos queda que

d Z b


f (x; y)dx dy

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

Z d
ba
f (a; y)dy +
f (b; y)dy
2
c
c

Si aplicamos a cada integral la regla del trapecio, nos queda

f (a; y)dy
c

f (b; y)dy
c

dc
[f (a; c) + f (a; d)]
2
dc
[f (b; c) + f (b; d)] .
2

Al reemplazar estas dos expresiones en la general nos queda que

dZ b

f (x; y) dx dy
c

(b a)(d c)
[f (a; c) + f (a; d) + f (b; c) + f (b; d)] .
4

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
- 136 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

6. Diferenciacin e integracin numrica

el mtodo de Simpson podemos obtener una aproximacin de dicha integral. En este caso, la
expresin es

dZ b


hx hy
f (a; c) + f (a; d) + f (b; c) + f (b; d) +
f (x; y) dx dy
9
 







c+d
a+b
a+b
c+d
+ f b;
+f
;c + f
;d +
+4 f a;
2
2
2
2
 

a+b c+d
+16 f
,
;
2
2

dc
hx = ba
2 y hy = 2 . Si reemplazamos esto ltimo en la expresin general y adems
a+b
c+d
denimos x0 = a, x1 =
2 ,x2 = b, y0 = c, y1 = 2 e y2 = d, tenemos que
Z dZ b
(b a)(d c)
f (x; y) dx dy
{f (x0 ; y0 ) + f (x0 ; y2 ) + f (x2 ; y0 ) + f (x2 ; y2 ) +
36
c
a
+4 [f (x0 ; y1 ) + f (x1 ; y0 ) + f (x1 ; y2 ) + f (x2 ; y1 ) + 4f (x1 ; y1 )]}.
donde

El error cometido por aproximar la integral mediante esta frmula est dado por:

ET

ES =

"
#
2 f (;

)
(b a)(d c) 2 2 f (;
hx
+ h2y
12
x2
y 2
"
#
4 f (;

)
(b a)(d c) 4 4 f (;
hx
+ h4y
90
x4
y 4

(Mtodo del trapecio),

(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, similares 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
que

Z
a

baX
f (x; y) dx
ci f (xi ; y).
2
i=1

Si hacemos lo mismo respecto de

dZ

y,

obtendremos

baX
ci f (xi ; y) dy
2
c
i=1
n Z
baX d
ci f (xi ; y) dy
2
c

Z
f (x; y) dx dy

x tendremos

i=1

n
m
baXdcX

i=1

badc
2
2

j=1
n
m
XX

ci cj f (xi ; yj )

ci cj f (xi ; yj )

i=1 j=1
n X
m
X

(b a)(d c)
4

ci cj f (xi ; yj ),

i=1 j=1

con

xi =
yj
Revisin: 11/2009

ba
b+a
ti +
2
2
dc
d+c
tj +
,
2
2

Resumen clases tericas

- 137 -

Anlisis Numrico I - Curso 008

6.3. Notas nales


ti

donde

tj

ci y cj , los coecientes de peso.


t1 = 13 , t2 = 13 y c1 = c2 = 1, y la

son las races de los polinomios de Legendre, y

Por ejemplo, si tomamos

n = m = 2

tenemos que

aproximacin nos queda como

dZ b

f (x; y) dx dy
c

con

(b a)(d c)
[f (x1 ; y1 ) + f (x1 ; y2 ) + f (x2 ; y1 ) + f (x2 ; y2 )] .
4

x1 =

ba 1
b+a
+
2
2
3

x2 =

ba 1
b+a
+
,
2
2
3

y1 =

dc 1
d+c
+
2
2
3

y2 =

dc 1
d+c
+
.
2
2
3

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
R

algoritmos vistos en este captulo. Por ejemplo, el MatLab
aplica el mtodo de Simpson en su
R

funcin quad que calcula integrales denidas, en tanto que el Mathcad , aplica el mtodo de
Romberg, entre otros mtodos.
Por otro lado, uno de los mtodos numricos ms utilizados en el anlisis estructural,
el Mtodo de los Elementos Finitos, aplica la integracin numrica en forma sistemtica para
obtener la matriz de rigidez de un sistema esttico. Ms an, para ciertos casos especiales hace uso
exclusivo de la cuadratura de Gauss, como es el caso de la integracin en una y dos dimensiones
para elementos lineales o de supercie (elementos de barra, de viga, de estado plano y de placa)
e inclusive para determinados tipos de elementos se ayuda con una integracin reducida para
evitar ciertos problemas del modelo numrico.

- 138 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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, que son aquellas que estn expresadas en derivadas
totales

1 . Como ejemplos de este tipo de ecuaciones tenemos las siguientes:

El equilibrio de una viga sometida a exin (

Un circuito del tipo LR (L

dM
+ p = 0);
dx

di
+ R i = V );
dt

La transmisin del calor unidimensional (q

= kA

dT
)
dx

2.

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, que pueden ser iniciales o de borde. Un caso
bien conocido es la resolucin de sistemas hiperestticos en Esttica (tambin los isostticos),
en los que se aplican mtodos prcticos y numricos (como el mtodo de Cross) derivados de las
soluciones anliticas.
Del conjunto de ecuaciones diferenciales empezaremos por las ms sencilla, que son aquellas que involucran a la primera derivada, de las que basta conocer las condiciones iniciales. Si
bien en cualquier curso de Anlisis Matemtico se aprenden mtodos analticos para obtener las
soluciones de dichas ecuaciones, sabemos que no siempre son aplicables o no siempre obtendremos
soluciones analticas. Por ejemplo, y volviendo al caso de estructuras hiperestticas, no resulta
sencillo resolver la ecuacin diferencial para el caso de una carga concentrada. Es en estos casos
cuando los mtodos numricos se convierten en la nica herramienta para obtener algn tipo de
solucin aproximada que nos permita resolver el problema.
Existen muchos ejemplos de ecuaciones diferenciales con condiciones iniciales, entre los
cuales podemos mencionar los siguientes:

Dinmica de poblaciones.

El economista ingls Thomas Malthus propuso el siguiente

modelo matemtico para denir el crecimiento demogrco:

dP
= kP ;
dt
1
2

Para una mejor comprensin del tema, ver [15].


dQ
En realidad, se trata de un sistema de ecuaciones diferenciales, pues q =
)
dt

Revisin: 11/2009

Resumen clases tericas

- 139 -

7.1. Ec. diferenciales ordinarias con valores iniciales


con

Anlisis Numrico I - Curso 008

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
= kA;
dt
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
= k(T Tm );
dt
con

k < 0,

donde

Tm

es la temperatura del medio, y

la del objeto analizado.

Ley de Torricceli. El drenado de un tanque cumple con el siguiente modelo:


p
dV
= Ah 2gh.
dt
Si denimos

V = Aw h,

entonces la expresin anterior se puede escribir como

dh
Ah p
=
2gh.
dt
Aw
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:

d2
g
= sen(),
2
dt
L
donde

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

d2
g
= ,
2
dt
L
modelo que en realidad est representado con una ecuacin diferencial de segundo orden.
Otro ejemplo de la ingeniera civil en el mbito del anlisis estructural es la ecuacin del
esfuerzo normal en una barra, que se dene como

dN
= t(x);
dx
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.
- 140 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

7.1.2. Condicin de Lipschitz


Una ecuacin diferencial ordinaria con valor inicial est denida de la siguiente manera:

dy
= f (t, y)
dt
f (t, y) D <2 ,

Una funcin

con

con

atb

y(a) = y0 .

convexo, cumple con la condicin de Lipschitz si

satisface que

|f (t, y1 ) f (t, y2 )| L |y1 y2 | ,


o



f (t, y)


y L,

para todo

(t, y) D.

Para que una ecuacin diferencial tenga solucin nica debe satisfacer el siguiente teorema.

Teorema 7.1.
f (t, y)

f (t, y)

Sea

continua en

D,

tal que

satisface la condicin de Lipschitz en

inicial

dy
= f (t, y)
dt
y(t) para a t b.

tiene solucin nica

con

D = {(t, y)|a t b; y +}. Si


y , entonces el problema de valor

en la variable

atb

y(a) = y0

Por lo tanto, toda ecuacin diferencial con valor inicial que cumpla con la condicin de
Lipschitz tiene solucin nica.

7.1.3. Problema bien planteado


Un problema de valor inicial del tipo

dy
= f (t, y)
dt

con

atb

y(a) = y0

se dice bien planteado si:


El problema tiene solucin nica (cumple con la condicin de Lipschitz);

 > 0, existe una constante positiva k() con la propiedad de que siempre
|0 | < , y un (t) que sea continuo, con (t) <  en [a; b], el problema tiene solucin
nica z(t); es decir,

Para cualquier
que

dz
= f (t, z) + (t)
dt

con

atb

z(a) = y0 + 0 ,

con

|z(t) y(t)| < k() ,


para toda

a t b.

En denitiva, un problema est bien planteado si una perturbacin (un

(t)) del problema

original 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


y en el conjunto D, entonces el problema de valor inicial

condicin de Lipschitz en la variable

dy
= f (t, y)
dt

con

atb

y(a) = y0

se dice bien planteado.

Revisin: 11/2009

Resumen clases tericas

- 141 -

7.1. Ec. diferenciales ordinarias con valores iniciales

Anlisis Numrico I - Curso 008

7.1.4. Mtodos de Euler explcito e implcito


Un vez denidas las condiciones que debe cumplir el problema de valor inicial para tener
solucin nica, nos ocuparemos de los mtodos para resolverlo.
Para empezar, tomemos la formulacin del problema

dy
= f (t, y).
dt
Desarrollamos por Taylor la funcin

y(t), desconocida, en un entorno [t; t+h] para obtener

y(t + h):
y(t + h) = y(t) + y 0 (t) h + y 00 (t)
Como

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

h2
+ ... .
2

entonces escribamos la expresin como sigue:

y(t + h) = y(t) + f (t, y) h + y 00 (t)

h2
+ ... .
2

Dado que nuestro entorno de la solucin est dado por

ba
,
h=
N

donde

[a; b],

es el nmero de intervalos. Ahora denamos que

denamos el paso

ti+1 = ti + h.

como

As, nuestra

expresin anterior queda:

y(ti+1 ) = y(ti ) + h f [ti ; y(ti )] + y 00 (ti )

h2
+ ... .
2

Si truncamos en la segunda derivada, nos queda

y(ti+1 ) = y(ti ) + h f [ti ; y(ti )] + y 00 (i )


con

h2
,
2

i [ti ; ti+1 ].
Puesto que lo que buscamos es una aproximacin de

y(ti ),

deninmosla como

wi ,

sin

considerar el trmino de error. Entonces nuestra expresin queda de la siguiente forma:

wi+1 = wi + h f (ti ; wi ),
para

i = 0; 1; . . . ; N 1.

Este mtodo se conoce como mtodo de Euler explcito.

Supongamos ahora que desarrollamos

y(t) en ti +h para obtener y(ti ). Entonces tendremos

que

y(ti ) = y(ti + h) y 0 (ti + h) h + y 00 (ti + h)


y, como

y 0 (ti + h) = f [ti + h; y(ti + h)],

h2
+ ... ;
2

nos queda que

y(ti ) = y(ti + h) f [ti + h; y(ti + h)] h + y 00 (ti + h)


Nuevamente, como ti+1

h2
+ ... .
2

= ti +h, y despejando y(ti+1 ) limitando otra vez la expresin a la segunda

derivada, tenemos que

y(ti+1 ) = y(ti ) + h f [ti+1 ; y(ti+1 )] y 00 (i )


con

h2
,
2

i [ti ; ti+1 ].
En forma anloga al mtodo anterior, lo que en realidad buscamos es una aproximacin

de

y(ti+1 ),

por lo tanto tendremos la siguiente expresin:

wi+1 = wi + h f (ti+1 ; wi+1 ),


para

i = 0; 1; . . . ; N 1.

- 142 -

Este mtodo se conoce como mtodo de Euler implcito.

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

Estabilidad de la solucin
Analicemos ahora qu pasa con la estabilidad numrica de ambos mtodos. Si consideramos que los valores de

wi

wi+1

estn perturbados, obtenemos las siguientes expresiones para

los errores locales:



f
= i GEe ;
= i 1 + h
y

Mtodo explcito:

i+1

Mtodo implcito:

i+1 = i

1
f
1h
y

= i GEi ;

Podemos notar que para que los errores

|G| < 1,

i+1

i ,

sean menores a

se debe cumplir que

es decir:

Mtodo de Euler explcito:

Mtodo de Euler implcito:





f
|GEe | = 1 + h < 1;
y
1
< 1.
|GEi | =
f
1 h y

El mtodo de Euler explcito es estable si se cumple la desigualdad:

2 < h
Si suponemos

h > 0,

f
< 0.
y

solamente ser estable si se cumple:

y < 0

h < f

y,

es decir, el mtodo es condicionalmente estable. Para otras combinaciones entre


es inestable.

f
< 0,
y

En cambio, el mtodo de Euler implcito es estable si

hy

f
, el mtodo
y

pero tambin si

h>

2
f
y

Casi podramos decir que es incondicionalmente estable y, por consiguiente, es ms conveniente


aplicar ste mtodo que el de Euler explcito

3.

La desventaja del mtodo implcito est en que para que sea fcil implementarlo,
requiere trabajar algebraicamente la expresin para transformarla en una explcita, modicarla
de tal forma que no aparezca

wi+1

a ambos lados de la igualdad. No siempre es posible, y por ello

la implementacin del mtodo implcito no siempre resulta sencilla. Cuando esto ocurre, 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 hace convergente la sucesin.

7.1.5. Mtodo predictor-corrector de Euler


Existe otra forma de salvar esta situacin. Supongamos que planteamos el siguiente sistema:

wi+1
= wi + h f (ti ; wi )

wi+1 = wi + h f (ti ; wi+1


).
3

Euler implcito slo es inestable si h <

Revisin: 11/2009

2
f
y

. En cambio, ambos lo son si

Resumen clases tericas

f
y

> 0.

- 143 -

Anlisis Numrico I - Curso 008

7.1. Ec. diferenciales ordinarias con valores iniciales


La idea es obtener una primera aproximacin de

,
wi+1

wi+1

con el mtodo explcito, que llamaremos

para luego usarla en el mtodo implcito y obtener una nueva aproximacin de

wi+1 ,

que

corrige el valor antes obtenido. La combinacin de estos dos mtodos se conoce como mtodo

predictor-corrector de Euler

4.

Una forma de mejorar la aproximacin con este mtodo es mediante iteraciones de la


frmula correctora. El mtodo queda de la siguiente forma:

wi+1
= wi + h f (ti ; wi )
0

wi+1
= wi + h f (ti ; wi+1
)
n+1
n
wi+1
= wi + h f (ti ; wi+1
),
iteracin que podemos truncar cuando

n+1

n
w
i+1 wi+1 < T OL

5.

Si bien los mtodos de Euler son bastante sencillos de implementar, los resultados que
se obtienen no son buenas aproximaciones de nuestro problema. Se los usa solamente como
introduccin a los mtodos numricos y para el anlisis del error.

7.1.6. Error cometido al resolver una ecuacin diferencial


Para analizar el error cometido, consideremos estos dos lemas:
1. Para toda
2. Si

x 1

y para cualquier

son nmeros reales positivos,

positiva, tenemos que

{ai }ki=0

0 (1 + x)m emx .

es una sucesin que satisface

a0 t/s,

y se

cumple que

ai+1 (1 + s)ai + t,

i = 0; 1; 2; . . . ; k,

para cada

entonces

ai+1 e

(i+1)s



t
t
.
a0 +
s
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

en

D = {(t, y)|a t b; y +},


y existe una constante

M,

tal que

|y 00 (t)| M

para toda

t [a; b].

Si

y(t)

es la solucin nica

del problema de valor inicial dado por

dy
= f (t, y)
dt
y los

w0 , w1 , . . . , wN

con

atb

y(a) = y0 ,

son las aproximaciones a nuestra funcin, obtenidas por el mtodo de Euler,

entonces se cumple que

|y(ti ) wi |

i
M h L(ti a)
e
1 .
2L

La demostracin de este teorema se puede ver [1].

Este mtodo no suele estar incluido en los libros de texto, posiblemente porque no mejora la aproximacin de
una manera signicativa. Una excepcin es [8].
5
En [8] hay una demostracin para algunos casos particulares, en la cual alcanza con dos iteraciones, sin
n+1
n
necesidad de analizar si wi+1
wi+1
< T OL.
- 144 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

Orden de convergencia
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:

eL =

y(ti+1 y(ti )
f [ti ; y(ti )].
h

Como vimos, el mtodo explcito de Euler se puede obtener a partir de una desarrollo de
Taylor, del cual resulta que

y(ti+1 ) = y(ti ) + hy 0 (ti ) +

h2 00
h2
y (ti ) + . . . = y(ti ) + hf [ti ; y(ti )] + f 0 [ti ; y(ti )] + . . . ;
2
2

por lo tanto

y(ti+1 ) y(ti )
f [ti ; y(ti )] =
h

h 0
f [; y()]
2
h 0
f [; y()],
2

eL =
con

[ti ; ti+1 ], lo que muestra que el error local del mtodo de Euler es O(h), es decir, tiene un

orden de convergencia lineal. Con un anlisis similar podemos demostrar que el mtodo implcito
es del mismo orden de convergencia. Y dado que ambos mtodos son de convergencia lineal, lo
mismo podemos decir del predictor-corrector.

7.1.7. Mtodos de Taylor de orden superior


Vimos que el mtodo de Euler es muy fcil de aplicar pero poco preciso. Una forma de
mejorarlo es partiendo otra vez del desarrollo por Taylor pero ampliando la cantidad de trminos
de la serie:

y(ti+1 ) = y(ti ) + h y 0 (ti ) +

h3
hn (n)
hn+1 (n+1)
h2 00
y (ti ) + y 000 (ti ) + . . . +
y (ti ) +
y
().
2!
3!
n!
(n + 1)!

Como adems tenemos que

d y(t)
= y 0 (t) = f (t; y), y(ti ) = yi
dt

y(ti+1 ) = yi+1 ,

el desarrollo por Taylor lo podemos escribir de la siguiente manera:

yi+1 = yi + h f (ti ; yi ) +

h2 0
h3
hn
hn+1 (n)
f (ti ; yi ) + f 00 (ti ; yi ) + . . . + f (n1) (ti ; yi ) +
f (; y()).
2!
3!
n!
(n + 1)!

Es decir, podemos armar un esquema para obtener los


Taylor, calculando las derivadas totales de la funcin

f (t; y).

yi+1

a partir de un polinomio de

En forma genrica, una solucin

aproximada por los polinomios de Taylor la podemos expresar as:

yi+1 = yi + h T hni . (ti ; yi ) +


T hni (ti ; yi ) representa a los
orden n 1 de f (t, y), o sea:

donde
de

T hni . (ti ; yi ) = f (ti ; yi ) +


Revisin: 11/2009

hn+1 (n)
f (; y()),
(n + 1)!

trminos del polonimio hasta la derivda de orden

de

y(t)

h 0
h2
hn1 (n1)
f (ti ; yi ) + f 00 (ti ; yi ) + . . . +
f
(ti ; yi ),
2!
3!
n!
Resumen clases tericas

- 145 -

Anlisis Numrico I - Curso 008

7.1. Ec. diferenciales ordinarias con valores iniciales


o

hni

. (ti ; yi ) =

n
X
h(i1)

i!

i=1
Por ejemplo, para

h2i

n=2

f (i1) (ti , yi ).

tenemos:




h f (t; y)
h f (t; y)
(ti ; yi ) = f (ti ; yi ) +
+
f (t; y)
.

2
t
2
y
ti ;yi
ti ;yi

Como hemos visto, el error cometido al resolver la ecuacin diferencial aplicando este
esquema es el primer trmino que dejamos de considerar en

E=

hn+1 (n)
f [; y()]
(n + 1)!

con

T hni (t, y):

[ti ; ti+1 ],

y como el error local est dado por

eL =

y(ti+1 ) y(ti )
f [ti ; y(ti )];
h

para este caso queda denido como

eL =
con

[ti ; ti+1 ].

hn
f (n) [i ; y(i )],
(n + 1)!

Estos mtodos se conocen como mtodos de Taylor de orden superior, pues

podemos denir el orden de convergencia igual a

n,

f (t; y) Cn1 [a; b].


de Taylor para n = 1.

siempre que al menos

Podemos ver que el mtodo de Euler es un caso particular del mtodo

(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.8. 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) Cn1 [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 diferencial 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.

Teorema 7.4.
Entonces, para

f (t; y) Cn+1 D con D = {(t; y)|a t b, c y d},


toda (t; y) D , existe [t0 ; t] y [y0 ; y] con
Sea

y sea

(t0 ; y0 ) D.

f (t; y) = Pn (t; y) + Rn (t; y),


- 146 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

tal que



f (t0 ; y0 )
f (t0 ; y0 )
+
+ (y y0 )
Pn (t; y) = f (t0 ; y0 ) + (t t0 )
t
y

(t t0 )2 2 f (t0 ; y0 )
2 f (t0 ; y0 )
+
+
(t

t
)(y

y
)
+
0
0
2!
t2
t y

(y y0 )2 2 f (t0 ; y0 )
+ ... +
+
2!
y 2

n  
n
X
1
n
f (t0 ; y0 )
+
(t t0 )nj (y y0 )j nj j ,
n!
j
t
y
j=0

n+1
X n + 1
n+1 f (; )
1
(t t0 )n+1j (y y0 )j n+1j j .
Rn (t, y) =
(n + 1)!
j
t
y
j=0

Pn (t; y) se la denomina polinomio de Taylor de grado n en dos variables


f (t; y) alrededor de (t0 ; y0 ), en tanto que Rn (t; y) es el residuo o error asociado

A la funcin
para la funcin
a

Pn (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, los que obtenemos a partir de del mtodo de Taylor de
segundo orden si hacemos lo aiguiente:

f (t + ; y + ) = f (t; y) +

h f (t; y) h f (t; y)
+
f (t; y).
2 t
2 y

Si desarrollamos el primer miembro otra vez por Taylor, tenemos:

f (t + ; y + ) = f (t+; y+) +
Ahora igualemos

a1 f (t + , y + )

a1 f (t+; y+) + a1

con

f (t, y)
f (t, y)
+
+ ... .
t
y

T h2i (t, y).

Los que nos queda es lo siguiente:

f (t, y)
h f (t; y) h f (t; y)
f (t, y)
+ a1
= f (t; y) +
+
f (t; y).
t
y
2 t
2 y

Si igualamos los trminos equivalentes de cada miembro obtenemos:

a1 f (t, y) = f (t, y) a1 = 1
f (t, y)
h f (t, y)
h
a1
=
=
t
2! t
2
f (t, y)
h f (t, y)
h
a1
=
f (t, y) = f (t, y).
y
2 y
2
T h2i (ti , yi )
f (t, y):

As obtenemos el equivalente al trmino


nomios de Taylor, sin calcualr las derivadas de

T
Revisin: 11/2009

h2i

de nuestra aproximacin por poli-


h
h
(ti , yi ) = f ti + , yi + f (ti , yi ) ,
2
2
Resumen clases tericas

- 147 -

Anlisis Numrico I - Curso 008

7.1. Ec. diferenciales ordinarias con valores iniciales

y, entonces, nuestra aproximacin por mtodos de Taylor de orden superior podemos escribirla
as:

yi+1 yi + h T h2i f (t, y)




h
h
yi+1 yi + h f ti + , yi + f (ti , yi )
2
2


h
h
wi+1 = wi + h f ti + , wi + f (ti , wi ) ,
2
2
para

i = 0; 1; 2; . . . ; n 1.

Este mtodo se conoce como

Mtodo del Punto Medio.

Si operamos de forma similar, pero proponiendo que

T h2i (ti , yi ),
1.

a1 f (t, y) + a2 f (ti + , yi + ) =

podemos obtener otros mtodos de orden 2. Los ms conocidos son:

Mtodo de Euler modicado. Tambin llamado Mtodo de Euler mejorado, su formulacin es

w0 = y0
wi+1 = wi +
cuando
2.

a1 = a2 =

1
2,

=h

o
hn
f (ti ; wi ) + f [ti + h; wi + hf (ti ; wi )] ,
2

= h f (ti , wi ),

para

i = 0; 1; 2; . . . ; n 1.

Mtodo de Heun. Su formulacin es


w0 = y 0

i
h

h
2
2
f ti ; wi +3f ti + h; wi + h f (ti ; wi ) ,
4
3
3

wi+1 = wi +
cuando

a1 =

1
4,

a2 =

3
4,

= 32 h

= 32 h f (ti , wi ),

para

i = 0; 1; 2; . . . ; n 1.

Otro mtodo conocido como de Runge-Kutta de orden 2 es el

derado o de Crank-Nicolson, cuya formulacin es

Mtodo mplicito pon-

w0 = y 0
wi+1 = wi +
para


i
hh
f ti ; wi +f ti+1 ; wi+1 ,
2

i = 0; 1; 2; . . . ; n 1.
Paralelamente, los mtodos del Punto Medio y de Crank-Nicolson podemos obtenerlos

tambin integrando la funcin

f (t; y)

en el intervalo

[ti ; ti+1 ],

si aplicamos los mtodos de in-

tegracin numrica del rectngulo y del trapecio respectivamente. En efecto, si partimos de la


ecuacin

dy = f (t, y)dt,
e integramos, obtenemos

yi+1

ti+1

dy =
yi

f (t, y)dt,
ti

que podemos escribir as

ti+1

y(ti+1 ) = y(ti ) +

f (t, y)dt.
ti

Si aplicamos el mtodo del rectngulo para aproximar la integral, obtenemos



h 
h
y(ti+1 ) = y(ti ) + h f ti + ; y(ti ) + f ti ; y(ti ) ,
2
2
- 148 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

por lo que la aproximacin podemos escribirla como

wi+1



h
h
= wi + h f ti + ; wi + f (ti ; wi ) .
2
2

De forma anloga, si aplicamos el mtodo del trapecio obtenemos

y(ti+1 ) = y(ti ) +



i
hh 
f ti ; y(ti ) + f ti+1 ; y(ti+1 ) ,
2

y nuestra nueva aproximacin podemos escribirla como

wi+1 = wi +

h
[f (ti ; wi ) + f (ti+1 ; wi+1 )] .
2

Para obtener mtodos de mayor orden de convergencia, debemos aplicar el teorema 7.4.
Con l obtenemos uno de los mtodos ms usados para resolver ecuaciones diferenciales ordinarias, el de

Runge-Kutta de orden 4, cuya formulacin es la siguiente:


w0 = y 0
k1 = hf (ti ; wi )

h
1 
k2 = hf ti + ; wi + k1
2
2

1 
h
k3 = hf ti + ; wi + k2
2
2
k4 = hf ti + h; wi + k3
1
wi+1 = wi + (k1 + 2k2 + 2k3 + k4 ) ,
6

para

i = 0; 1; 2; . . . ; n 1.
El mtodo de Runge-Kutta de orden 4 tiene un error local de truncamiento

que la funcin

y(t)

O(h4 ), siempre

tenga al menos cinco derivadas continuas.

R
R


y el Mathcad
tienen
R

desarrollados distintas funciones que aplican este mtodo. Por ejemplo, Mathcad
cuenta con
Este mtodo es tan preciso, que programas como el MatLab

rkfixed(y ;x1 ;x2 ;npoints;D) que resuelve ecuaciones diferenciales de primer orden
utilizando dicho mtodo, en la cual y es el valor inicial, x1 y x2 son los extremos del intervalo,
x2 x1
npoints es la cantidad de intervalos, y entonces h = npoints
, y D es la funcin f (x, y) que debemos

la funcin

resolver.
Este mtodo puede asociarse a la siguiente formulacin:

wi+1 = wi +



i
hh
f (ti ; wi ) + 4f ti+ 1 ; wi+ 1 + f (ti+1 ; wi+1 ) ,
2
2
6

equivalente al mtodo de Simpson de integracin numrica, cuyo orden de convergencia es

O(h4 ).

7.1.9. 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

dy
= f (t; y),
dt

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

w0 = y0
wi+1 = wi1 + 2h f (ti ; wi ),
Revisin: 11/2009

Resumen clases tericas

- 149 -

Anlisis Numrico I - Curso 008

7.1. Ec. diferenciales ordinarias con valores iniciales


para

i = 1; 2; . . . ; n 1.

w1

El valor de

debemos calcularlo con otro mtodo. Como las apro-

ximaciones 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

w1

con alguno de esos mtodos. De todos modos, el mtodo del salto de rana es inestable para
determinado tipo de ecuaciones diferenciales.
Existen otros mtodos, muy utilizados, que mejoran la notoriamente la aproximacin que
podemos obtener.

7.1.10. Mtodos de Adams


A partir de esta idea, de utilizar la informacin de los puntos calculados, se han desarrollado mtodos de paso mltiple muy utilizados, los mtodos de Adams. Los podemos dividir
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

wi ; wi1 ; . . .;wi+1p

para obtener el

wi+1 ,

en el caso de los mtodos de Adams-Bashforth, en tanto que en los de Adams-Moulton se usan


los

wi+1 ; wi ; wi1 ; . . .;wi+2p ,

los puntos

wi+1

wi .

p
wi

donde

Bashforth de orden 2 usa los puntos

es el orden de convergencia. As, un mtodo de Adamsy

wi1 ,

en tanto que un mtodo de Adams-Moulton usa

Veamos como obtener algunos de estos mtodos.

Mtodos de Adams-Bashforth
Para obtener el mtodo de Adams-Bashforth de orden 2 partamos de:

yi+1

ti+1

f (t, y)dt,

dy =
ti
Z ti+1

yi

y(ti+1 ) y(ti ) =

f (t, y)dt,
ti

ti+1

f (t, y)dt.

y(ti+1 ) = y(ti ) +
ti

R ti+1

f (t, y)dt, armemos un polinomio interpolante, utilizando el mtodo


f (t; y). As, nos queda que





 f ti ; y(ti ) f ti1 ; y(ti1 )
f (t; y) f ti ; y(ti ) +
(t ti )
t t

 i i1


 f ti ; y(ti ) f ti1 ; y(ti1 )
f ti ; y(ti ) +
(t ti ).
h

Para aproximar

ti

de Newton de diferencias divididas regresivas, que aproxime

Al integrar el polinomio interpolante obtenemos

ti+1

f (t, y)dt h f ti ; y(ti ) + h


ti





f ti ; y(ti ) f ti1 ; y(ti1 )
.

2
h



i
h
3f ti ; y(ti ) f ti1 ; y(ti1 ) .
2

y si reemplazamos en la expresin inicial, tenemos



i
hh 
3f ti ; y(ti ) f ti1 ; y(ti1 ) .
2
buscamos es una aproximacin de y(ti+1 ), entonces

y(ti+1 ) y(ti ) +
Como siempre, lo que

el mtodo de

Adams-Bashforth de orden 2 queda formulado de la siguiente manera:

wi+1 = wi +
- 150 -

h
[3f (ti ; wi ) f (ti1 ; wi1 )] ,
2

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008


para

i = 1; 2; . . . ; n 1.

7. Ecuaciones diferenciales ordinarias

Por lo tanto, debemos calcular

w1

con algn otro mtodo. Dado que el

mtodo es de orden de convergencia 2, lo ms conveniente es usar algn mtodo 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

wi+1 = wi +
para

h
[55f (ti ; wi ) 59f (ti1 ; wi1 ) + 37f (ti2 ; wi2 ) 9f (ti3 ; wi3 )] ,
24

i = 3; 4; . . . ; n 1.

w1 ; w2

Nuevamente, debemos hallar

w3

con ayuda de otro mtodo. Al

igual que en el mtodo de orden 2, en este caso podemos usar el RK O4.

Mtodos de Adams-Moulton
Los mtodos de Adams-Moulton los obtenemos de forma anloga a la aplicada para los
mtodos de Adams-Bashforth. Por ejemplo, para obtener el de orden 2, planteemos el siguiente

f (t; y):





 f ti+1 ; y(ti+1 ) f ti ; y(ti )
f (t; y) f ti+1 ; y(ti+1 ) +
(t ti+1 )
ti+1 ti





 f ti+1 ; y(ti+1 ) f ti ; y(ti )
f ti+1 ; y(ti+1 ) +
(t ti+1 ).
h

polinomio interpolante para aproximar

Al integrarlo, obtenemos que

ti+1

f (t, y)dt h f ti+1 ; y(ti+1 ) + h




f ti+1 ; y(ti+1 ) f ti ; y(ti )
2

ti



i
hh 
f ti+1 ; y(ti+1 ) + f ti ; y(ti ) .
2

Nuevamente, al reemplazar en la expresin inicial, tenemos

y(ti+1 ) = y(ti ) +



i
hh 
f ti+1 ; y(ti+1 ) + f ti ; y(ti ) ,
2

y como lo que buscamos es una aproximacin de

wi+1 = wi +

y(ti+1 ),

tenemos que

h
[f (ti+1 ; wi+1 ) + f (ti ; wi )] .
2

Resulta interesante ver que el mtodo de Adams-Moulton de orden 2 es el mtodo de CrankNicolson.


Al igual que con Adams-Bashforth, uno de los mtodos ms usados es el de AdamsMoulton de orden 4, cuya expresin es

wi+1 = wi +
para

h
[9f (ti+1 ; wi+1 ) + 19f (ti ; wi ) 5f (ti1 ; wi1 ) + f (ti2 ; wi2 )] ,
24

i = 2; 3; . . . ; n 1.

Nuevamente, debemos obtener

w1

w2

con ayuda del RK O4.

En general, suelen ser ms precisos los mtodos de Adams-Moulton que los de AdamsBashforth. 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 AdamsR

Moulton de orden 4. Una excepcin parece ser la versin 14 del Mathcad , que dispone de
una funcin

Adams(init,x1,x2,npoints,D,[tol])

para resolver ecuaciones diferenciales, que

de acuerdo con la ayuda del programa, utiliza mtodos de Adams-Bashforth, aunque no especica
el orden. Los parmetros de la funcin son:

Revisin: 11/2009

Resumen clases tericas

- 151 -

Anlisis Numrico I - Curso 008

7.1. Ec. diferenciales ordinarias con valores iniciales

init:
x1,x2:
npoints:
D:

Valor inicial de la funcin;


Extremos del intervalo;
Cantidad de puntos a obtener (equivalente al paso

h);

Ecuacin diferencial escrita en forma vectorial, permite resolver tambin un sistema


de ecuaciones diferenciales;

tol:

Tolerancia.

Tambin cuenta con una funcin para resolver Ecuaciones Diferenciales Ordinarias que
aplica mtodos de Adams en forma predenida (Odesolve([vector],x,b,[step])). Todas estas
funciones entregan, adems, una curva obtenida por interpolacin de los valores calculados.

Mtodo predictor-corrector de Adams


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:

h
[3f (ti ; wi ) f (ti1 ; wi1 )]
2

h

= wi +
f (ti+1 ; wi+1
) + f (ti ; wi ) ,
2

wi+1
= wi +

wi+1
para

i = 2; 3; . . . ; n 1

y donde el valor de

w1 = w1

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:

h
[55f (ti ; wi ) 59f (ti1 ; wi1 ) + 37f (ti2 ; wi2 ) 9f (ti3 ; wi3 )]
24

h 

9f (ti+1 ; wi+1
) + 19f (ti ; wi ) 5f (ti1 ; wi1 ) + f (ti2 ; wi2 ) ,
= wi +
24

wi+1
= wi +

wi+1
para

i = 4; 5; . . . ; n 1

y donde

w1 = w1 , w2 = w3

w3 = w3

los obtenemos usando RK O4.

En estos mtodos tambin cabe la posibilidad de iterar con la frmula correctora hasta
obtener la solucin buscada. Por ejemplo, el predictir-corrector de Adams de orden 2 podemos
escribirlo como:

h
[3f (ti ; wi ) f (ti1 ; wi1 )]
2

h

= wi +
f (ti+1 ; wi+1
) + f (ti ; wi ) ,
2

h
n
f (ti+1 ; wi+1
) + f (ti ; wi ) ,
= wi +
2

wi+1
= wi +
0
wi+1
n+1
wi+1

en tanto que al mtodo predictor-corrector de Adams de orden 4 lo podemos escribir as:

h
[55f (ti ; wi ) 59f (ti1 ; wi1 ) + 37f (ti2 ; wi2 ) 9f (ti3 ; wi3 )]
24

h 

= wi +
9f (ti+1 ; wi+1
) + 19f (ti ; wi ) 5f (ti1 ; wi1 ) + f (ti2 ; wi2 ) ,
24

h 
n
= wi +
9f (ti+1 ; wi+1
) + 19f (ti ; wi ) 5f (ti1 ; wi1 ) + f (ti2 ; wi2 ) .
24

wi+1
= wi +
0
wi+1
n+1
wi+1
- 152 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

En ambos casos, las iteraciones las truncamos cuando

n+1

n
w
i+1 wi+1 < T OL
o cuando



wn+1 wn
i+1
i+1
< T OL.

n+1


wi+1

7.1.11. Mtodo predictor-corrector de Milne


Existe otro mtodo predictor-corrector multipaso muy conocido. Es el mtodo predictor-

corrector de Milne, cuya formulacin es:

wi+1
0
wi+1
n+1
wi+1



4
= wi3 + h 2f (ti , wi ) f (ti1 , wi1 + 2f (ti2 , wi2 ,
3


h

= wi1 +
f (ti+1 , wi+1 ) + 4 f (ti , wi ) + f (ti1 , wi1 ) ,
3


h
n
f (ti+1 , wi+1 ) + 4 f (ti , wi ) + f (ti1 , wi1 ) .
= wi1 +
3

en el que tambin truncamos las iteraciones con los criterios ya vistos. Este mtodo es de orden
cuatro, pero no es de los ms usados pues no entrega mejores resultados que los mtodos de
Adams. (Para ms detalles, ver [1].)

7.2. Ecuaciones diferenciales ordinarias de orden superior


Nos hemos ocupado de resolver numricamente ecuaciones diferenciales ordinarias de
primer orden con valores iniciales. Existen tambin ecuaciones similares pero de orden superior
como stas:

d2 y
= f (t; y; y 0 )
d t2

con

a < t < b, y(a) = , y 0 (a) = ,

que es una ecuacin de segundo orden.


La forma general de una ecuacin de orden superior es:

dn y
= f (t; y; y 0 ; . . . ; y hn1i )
d tn

con

hn1i

a < t < b, y(a) = y0 , y 0 (a) = y00 , . . . , y hn1i (a) = y0

Para resolverla podemos aplicar cualquier mtodo visto para ecuaciones de primer orden
pero efectuando un cambio de variable. As, para la ecuacin de segundo orden, la transformacin
queda as:

dy
dt
dz
dt
con las mismas condiciones ya vistas:

= z(t, y)
= f (t, y, z).
z(a) = y 0 (a) = z0 .
explcito, y si hacemos wi = yi

a < t < b, y(a) = y0

Por ejemplo, si aplicamos el mtodo de Euler

v i = zi ,

la aproximacin nos queda de la siguiente forma:

wi+1 = wi + h vi
vi+1 = vi + h f (ti , wi , vi ).
Revisin: 11/2009

Resumen clases tericas

- 153 -

7.2. Ec. diferenciales ordinarias de orden superior

Anlisis Numrico I - Curso 008

Si aplicamos un mtodo de Runge-Kutta de orden 2, por ejemplo, el mtodo de Euler


modicado, tenemos:

k11 = h vi ; k12 = h f (ti ; wi ; vi )


wi+1
vi+1

k21 = h (vi + k12 ); k22 = h f (ti + h; wi + k11 ; vi + k12 )



1 1
k1 + k21 ,
= wi +
2

1 2
k1 + k22 .
= vi +
2

Algo similar podemos hacer con el mtodo de Runge-Kutta de orden 4. El sistema de


ecuaciones quedar de esta forma:

wi+1
vi+1

k11 = h vi ; k12 = h f (ti ; wi ; vi )


1
1
1
k21 = h (vi + k12 ); k22 = h f (ti + h; wi + k11 ; vi +
2
2
2
1
1
1
k31 = h (vi + k22 ); k32 = h f (ti + h; wi + k21 ; vi +
2
2
2
k41 = h (vi + k32 ); k42 = h f (ti + h; wi + k31 ; vi + k32 )

1 1
= wi +
k1 + 2 k21 + 2 k31 + k41
6

1 2
k1 + 2 k22 + 2 k32 + k42 .
= vi +
6

1 2
k )
2 1
1 2
k )
2 2

Este mismo concepto podemos aplicarlo si queremos usar algn otro mtodo, sea de paso
simple, sea de paso mltiple. En estos ltimos el esquema es ms sencillo, pues lo nico que
hay que cuidar es la formulacin para las distintas ecuaciones. As, la aplicacin del mtodo de
Adams-Bashforth de orden 2 resulta ser:

wi+1 = wi + h (3 vi vi1 )
vi+1 = vi + h [3 f (ti , wi , vi ) f (ti1 , wi1 , vi1 )] ,
obteniendo los valores de

wi1

vi1

de la misma forma a la vista para el caso de ecuaciones de

primer orden.
Evidentemente, resolver ecuaciones diferenciales de orden superior con mtodos explcitos
no conlleva ms que una complicacin en la formulacin algebraica del mtodo elegido, sobre todo
en el caso de los mtodos de Runge-Kutta.
As como analizamos cmo aplicar los mtodo explcitos, veamos brevemente qu ocurre
con la aplicacin de mtodos implcitos. Supongamoas ahora que para resolver la ecuacin diferencial de segundo orden aplicamos el mtodo de Euler implcito. El esquema quedar as:

wi+1 = wi + h vi+1
vi+1 = vi + h f (ti+1 , wi+1 , vi+1 ).
De nuevo, la formulacin es sencilla pero ahora depende del

f (t, y, y 0 ) para poder resolver

0
el sistema. En efecto, si f (t, y, y ) no es lineal, tendremos la misma dicultad que habamos visto
anteriormente; debemos obtener

vi+1

de manera iterativa. Esto no siempre es fcil de hacer. Sin

embargo, el sistema podemos reescribirlo as:


 
 

1 h
wi+1
wi

=
0 1
vi+1
vi + h f (ti+1 , wi+1 , vi+1 )
Supongamos por un momento que

f (ti+1 , wi+1 , vi+1 ) = t2i+i + 2 wi+1 vi+1 ,

entonces

nuestro sistema quedar de la siguiente manera:

- 154 -

 
 

1
h
wi+1
wi

=
2 h 1 + h
vi+1
vi + h t2i+1
Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

Nuestra solucin anltica ser:

 
1 

wi+1
1
h
wi
=

vi+1
2 h 1 + h
vi + h t2i+1

pero podemos aplicar cualquier mtodo de resolucin de ecuaciones lineales visto. En este caso
particular, podemos ver que para cualquier

0 < h < 1,

la matriz es denida positiva y estricta-

mente diagonal dominante, as que la solucin es nica para cada

i.

7.3. Sistemas de ecuaciones diferenciales de primer orden


Lo visto anteriormente para ecuaciones diferenciales de orden superior podemos aplicarlo
para resolver un sistema de ecuaciones diferenciales de primer orden del tipo:

d u1
dt
d u2
dt

= f1 (t, u1 ; u2 ; . . . ; un )
= f1 (t, u1 ; u2 ; . . . ; un )
.
.
.

d un
dt
con las condiciones siguientes:

= fn (t, u1 ; u2 ; . . . ; un )

a < t < b; u1 (a) = 1 ; u2 (a) = 2 ; . . . ; un (a) = n .

Ahora, en lugar de transformar la ecuacin diferencial, lo que tenemos son varias funciones

ui (t)

entrelazadas. La solucin de cada funcin

al caso anterior, donde

y(t)

dependa de

ui (t)

depende de las dems

uj (t),

que es anlogo

z(t).

En consecuencia, podremos aplicar cualquiera de los mtodos vistos para resolver ecuaciones diferenciales ordinarias de primer orden, cuidando de armar la formulacin algebraica
para cada

ui (t)).

j = 0; 1; . . . ; m

Debemos tener en cuenta que obtendremos un conjunto de valores

ba
h=
.
m

ui,j

con

(Para ms detalles acerca de sistemas de ecuaciones diferenciales de

primer orden, ver [1].)

7.4. Ecuaciones diferenciales ordinarias con condiciones de contorno


7.4.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 que podemos
adaptatlos para ecuaciones diferenciales de orden superior con valores iniciales.
Pero este caso no suele ser el ms comn o usual. Las ecuaciones diferenciales de orden
dos o superior generalmente son 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. Una ecuacin diferencial

de orden 2 con valores de contorno est dada por:

d2 y
= f (t, y, y 0 ),
dt2

en

[a, b];

similar a lo visto, pero con las condiciones en los extremos del intervalo:

y(a) = ; y(b) = .
Revisin: 11/2009

Resumen clases tericas

- 155 -

Anlisis Numrico I - Curso 008

7.4. Ec. diferenciales con condiciones de contorno

Como podemos ver, con estas condiciones no parece posible utilizar los mtodos estudiados, ni siquiera transformando la ecuacin diferencial de segundo orden en un sistema de
ecuaciones diferenciales primer orden. Debemos buscar alguna forma que nos permita 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 ingenieros, 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

d4 w
p(x) = 0.
dx4

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; w0 (0) = 0;

w0 (L) = 0.

Figura 7.1: Viga doblemente empotrada

Este es el tpico caso de condiciones de borde esenciales (o forzadas), puesto que las
restricciones 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 anteriormente. 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 ecuaciones diferenciales. Empezaremos por el ms sencillo, el mtodo del disparo lineal, que hace uso
de los mtodos ya estudiados.

7.4.2. Mtodo del tiro o disparo lineal


Supongamos que tenemos la siguiente ecuacin diferencial:

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


que debe cumplir con las condiciones:

y(0) = y0 ; y(1) = y1 .
- 156 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

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

u(ti ).

y(t)

que llamaremos

Entonces nuestro sistema quedar de la siguiente forma:

u00 = f (t, u), u1 (0) = y0


1

donde

u01 (0).

es el primer ensayo para

u01 (0) = 1 .

Apliquemos para ello cualquiera de los mtodos vistos

anteriormente, por ejemplo el de Euler. Con l obtendremos un valor para


seguramente ser distinto a

u1 (1)

igual a

Nuevamente, resolvamos con Euler un sistema similar pero proponiendo que

0
y u2 (0)
a

1 ,

que

y1 .
u2 (0) = y0

= 2 . Obtendremos otro valor para u(1), es decir, un u2 (1) = 2 , probablemente distinto

y1 .
En consecuencia, tendremos dos aproximaciones de

que existe una relacin lineal entre

u(ti ), u1 (ti )

u2 (ti ).

y1 .

Para continuar, vamos a suponer

Esta relacin lineal estar dada por:

u(ti ) u1 (ti )
u2 (ti ) y0
=
.
y1 1
2 y0
Para calcular

u(t)

debemos despejarla de la expresin anterior. As obtenemos:

u(ti ) = u1 (ti ) +

y1 1
[u2 (ti ) y0 ] .
2 y0

Para entender como opera el mtodo, veamos un ejemplo prctico, resolviendo una
ecuacin diferencial de orden 2.

Ejemplo
Resolver la siguiente ecuacin diferencial ordinaria con valores de frontera, aplicando el
mtodo de Euler:

y 00 = 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 0 (x) = z(x),

con lo que tendremos que la ecuacin diferencial se transforma en:

y 0 (x) = z(x)
z 0 (x) = 4(y x)
Si aplicamos el mtodo de Euler, y hacemos

ui = y(xi )

tendremos las siguientes ecua-

ciones:

ui+1 = ui + h zi
zi+1 = zi + h 4(ui xi )
Como vemos, debemos resolver dos ecuaciones para obtener el valor de

ui+1 .

Por ello,

en primer trmino, vamos a resolver el sistema obteniendo, primero, valores para unas funciones

v1 (x)

y adoptando las siguientes condiciones iniciales:

v1 (0) = 0; z1 (0) = 0
Revisin: 11/2009

Resumen clases tericas

- 157 -

Anlisis Numrico I - Curso 008

7.4. Ec. diferenciales con condiciones de contorno

Tabla 7.1: Resultados obtenidos aplicando el mtodo de Euler

xi
0, 00
0, 10
0, 20
0, 30
0, 40
0, 50
0, 60
0, 70
0, 80
0, 90
1, 00

z1,i
0, 000
0, 000
0, 040
0, 120
0, 242
0, 408
0, 624
0, 896
1, 234
1, 647
2, 150

v1,i
0, 000
0, 000
0, 000
0, 004
0, 016
0, 040
0, 081
0, 143
0, 233
0, 356
0, 521

z2,i
1, 000
1, 000
1, 000
1, 000
1, 000
1, 000
1, 000
1, 000
1, 000
1, 000
1, 000

v2,i
0, 000
0, 100
0, 200
0, 300
0, 400
0, 500
0, 600
0, 700
0, 800
0, 900
1, 000

ui
0, 000
0, 252
0, 504
0, 752
0, 992
1, 220
1, 432
1, 621
1, 784
1, 913
2, 000

y(xi )
0, 000
0, 156
0, 313
0, 476
0, 645
0, 824
1, 016
1, 225
1, 455
1, 711
2, 000

e
0, 0
9, 7 102
1, 9 101
2, 8 101
3, 5 101
4, 0 101
4, 2 101
4, 0 101
3, 3 101
2, 0 101
0, 0

por lo que el sistema a resolver ser:

v1i+1

= v1i + h z1i

z1i+1

= z1i + h 4(v1i xi )

En segundo trmino, haremos lo mismo pero para las funciones

v2 (x)

z2 (x) = v20 (x)

con los valores de contorno levemente distintos. Estos son:

v2 (0) = 0; z2 (0) = 1,
y el sistema a resolver ser:

v2i+1

= v2i + h z2i

z2i+1

= z2i + h 4(v2i xi )

Con los valores para cada una de las soluciones y por cada iteracin, calcularemos los
valores denitivos mediante la expresin:

ui = v1i +

y(1) v1 (1)
[v2 y(0)]
v2 (1) y(0) i

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:

1 2x

y(x) = e2 e4 1
e e2x + x.
Los valores de

u(xi )

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,

101 , un
error O(h).)

del orden de
tiene un
- 158 -

error razonable para este mtodo. (Recordemos que el mtodo de Euler

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

7.4.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 permiten una mejor aproximacin de las derivadas. Para empezar, desarrollemos

y(xi+1 )

y(xi1 )

por Taylor hasta el cuarto trmino, por lo que tendremos:

y(xi+1 ) = y(xi + h) = y(xi ) + hy 0 (xi ) +


para alguna

i+

en

(xi ; xi+1 ),

y(xi1 ) = y(xi h) = y(xi ) hy 0 (xi ) +


para alguna

en

h2 00
h3
h4
y (xi ) + y 000 (xi ) + y (iv) (i+ ),
2
6
24

(xi1 ; xi ).

h3
h4
h2 00
y (xi ) y 000 (xi ) + y (iv) (i ),
2
6
24

Dems est decir que se supone que

y(x) C 4 [xi1 ; xi+1 ].

Si

00
sumamos ambas expresiones y despejamos y (xi ), tendremos:

y 00 (xi ) =

i
h2 h (iv) +
1
(iv)
[y(x
)

2y(x
)
+
y(x
)]

y
(
)
+
y
(
)
.
i+1
i
i1
i
i
h2
24

Si aplicamos el teorema del valor medio, podemos simplicar la expresin a:

y 00 (xi ) =
para alguna

en

1
h2 (iv)
[y(x
)

2y(x
)
+
y(x
)]

y (i ),
i+1
i
i1
h2
12

(xi1 ; xi+1 ).

Reemplacemos esta ltima expresin en nuestra ecuacin diferencial:

1
h2 (iv)
[y(x
)

2y(x
)
+
y(x
)]

y (i ) = 4 [y(xi ) xi ] .
i+1
i
i1
h2
|12 {z }
O(h2 )

De esta manera, nuestra ecuacin diferencial se transforma en:

[y(xi+1 ) 2y(xi ) + y(xi1 )] = 4h2 [y(xi ) xi ] ,


y desarrollando algebraicamente, obtenemos:



y(xi1 ) 2(1 + 2h2 )y(xi ) + y(xi+1 ) = 4h2 xi ,
i tenemos una ecuacin lineal. Denamos, entonces, el intervalo o paso
N > 0; de esta manera obtendremos N intervalos para i [0; N ]. Con i y h
armar nuestro sistema de ecuaciones para i [1; N 1]. La matriz resultante ser:

1 2(1 + 2h2 )
1
0
0
...
0
0
1
2(1 + 2h2 ) 1
0
...
0

.
..
..
..
..
..
.
A = ...
.
.
.
.
.
. .

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

por lo tanto, para cada

como

ba
N siendo

podemos

Revisin: 11/2009

Resumen clases tericas

- 159 -

Anlisis Numrico I - Curso 008

7.4. Ec. diferenciales con condiciones de contorno


Si hacemos que

yi = y(xi )

tendremos que nuestras incgnitas son:

y0
y1

y = ... .

yN 1
yN
Nuestro vector de trminos independientes ser:

4h2 x1
4h2 x2

.
.
B=
.
.

2
4h xN 2
4h2 xN 1

Pero hemos armado un sistema con


el sistema debemos recordar que

y0 =

N 1 las y N + 1 incgnitas yi . Para completar


yN = , por lo que nuestro sistema de ecuaciones

lineales quedar como:

1
0
0
1 2(1 + 2h2 )
1

0
1
2(1
+
2h2 )

..
..
..
.
.
.

0
.
.
.
0

0
...
0
0
0
0

y0
0

0
y1 4h2 x1

0 y2 4h x2

. .
.
..
..
.
.
.
=

.
.
.
.
.
.

2
2

2(1 + 2h )
1
0
yN 2 4h xN 2
2
2

1
2(1 + 2h ) 1
yN 1
4h xN 1
...
0
1
yN

0
0
1
..

0
0
0

1
0
0

Armemos el sistema denitivo con


Con estos parmetros tendremos que

h =

...
...
...

x [0; 1], y(0) = y0 = 0, y(1) = yN = 2 y N = 10.


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;
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:

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

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

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

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

0
0
0
1
2, 04
1
0
0
0
A = 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
1
2, 04
1

0
0
0
0
0
0
0
0
1
2, 04
0
0
0
0
0
0
0
0
0
0
- 160 -

Resumen clases tericas

0
0

0 ,

1
1

Revisin: 11/2009

Anlisis Numrico I - Curso 008

7. Ecuaciones diferenciales ordinarias

y con el vector de trminos independientes:

0
0, 004

0, 008

0, 012

0, 016

B = 0, 020 .

0, 024

0, 028

0, 032

0, 036
2

Al resolver el sistema de ecuaciones por alguno de los mtodos numricos que hemos
estudiado en el captulo 2, obtenemos el siguiente vector solucin:

0, 000
0, 156

0, 313

0, 476

0, 645

y = 0, 824 .

1, 017

1, 225

1, 455

1, 711
2, 000
Si lo comparamos con el vector

obtenido con el mtodo de Euler, podemos observar

que la solucin por diferencias nitas es mucho ms precisa, ya que los

obtenidos son iguales a

los hallados por aplicacin de la solucin analtica.

7.5. 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 estaban dados por las pocas soluciones analticas que se podan obtener de muchas de las ecuaciones
diferenciales, y en consecuencia, 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 tiempo de clculo. Prcticamente todas las disciplinas 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, y 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

Revisin: 11/2009

Resumen clases tericas

- 161 -

7.5. Notas nales

Anlisis Numrico I - Curso 008

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).

- 162 -

Resumen clases tericas

Revisin: 11/2009

Anlisis Numrico I - Curso 008

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 41 .

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, International Thomson, 2002.

Revisin: 11/2009

Resumen clases tericas

- 163 -

Anda mungkin juga menyukai