Está en la página 1de 4

Mtodos Numricos 3002192

Anlisis del Error de Discretizacin en la


Solucin Numrica de Ecuaciones Diferenciales

El propsito de esta nota es corregir (el libro de texto por Mathews y Fink presenta varios
errores de escritura) y claricar las deniciones de error global y local de truncamiento o discretizacin en la solucin numrica de ecuaciones diferenciales. En particular consideramos en
detalle el mtodo de Euler que es el ms sencillo de formular y analizar. El anlisis de los otros
mtodos es ms complicado pero aparece tambin una relacin similar entre los errores global y
local.1
Consideramos entonces una ecuacin diferencial de la forma
y 0 = f (t; y) en [a; b] con y(a) = y0
usando la particin tk = a + kh para k = 0; 1; 2; : : : ; M donde h = (b
tM = b.

a)=M . As que t0 = a y

La aproximacin de Euler se obtiene del desarrollo de Taylor


y(t) = y(tk ) + y 0 (tk )(t

tk ) +

y 00 (ck )(t
2

tk )2

donde ck 2 [tk ; t], tomando t = tk+1 , usando y 0 (tk ) = f (tk ; y(tk )), y despreciando el trmino de
segundo orden; resulta entonces la aproximacin
y(tk+1 )

y(tk ) + hf (tk ; y(tk )):

Excepto en t0 , en realidad no se conoce y(tk ) sino la aproximacin previa, as que esta aproximacin se traduce en la siguiente regla para calcular la aproximacin yk+1 de y(tk ) en trminos
de la aproximacin yk de y(tk ):
yk+1 = yk + hf (tk ; yk ) para k = 0; 1; 2; : : : ; M
1

1:

En particular, as como los errores local y global resultan ser O(h2 ) y O(h) para el mtodo de Euler, para
otros mtodos resultan ser O(hN +1 ) y O(hN ) donde N es una constante que depende del mtodo. En cada caso
la constante que se esconde en la notacin O( ) resulta del anlisis detallado del mtodo.

Se espera que el valor yk aproxime la solucin exacta y(tk ), as que nos interesa acotar la
diferencia y(tk ) yk . Con esto en mente, se dene el error global de discretizacin ek en tk
(acumulado en los pasos 1 a k) como
ek = y(tk )

yk :

Para el anlisis resulta conveniente denir el error local de truncamiento 2 en el paso k + 1 como
"k+1 = y(tk+1 )

(y(tk ) + hf (tk ; y(tk ));

es decir, la diferencia entre la solucin exacta en tk+1 y el valor precalculado por el mtodo
utilizando la solucin exacta en tk como punto de partida.3 El mtodo de Euler y los otros que
estudiaremos tienen una regla de aproximacin de la forma
yk+1 = yk + h (tk ; yk )
donde es una cierta funcin llamada funcin incremental. La expresin general del error local
es entonces
"k+1 = y(tk+1 ) (y(tk ) + h (tk ; y(tk ))
y para este en general se conoce una cota j"k+1 j
ChN +1 .
00
(t; y) = f (t; y), N = 1 y C = f (ck )=2 con ck 2 [tk ; tk+1 ].

En el mtodo de Euler

Ahora para acotar el error global en trminos de los errores locales, tenemos la siguiente
derivacin:
ek+1 =
=
=
=

y(tk+1 ) yk+1
y(tk+1 ) (yk + h (tk ; yk ))
(y(tk+1 ) (y(tk ) + h (tk ; y(tk ))) + (y(tk )
"k+1 + ek + h ( (tk ; y(tk ))
(tk ; yk )):

yk ) + h ( (tk ; y(tk ))

(tk ; yk ))

Tomando valor absoluto, entonces,


jek+1 j

j"k+1 j + jek j + h j (tk ; y(tk ))

(tk ; yk )j:

Suponiendo que (t; y) es Lipschitz en la segunda variable con constate L (lo cual sabemos es
cierto si j y (t; y)j L en la regin de puntos (t; y) de inters; ver el texto de Mathews & Fink,
teorema 9.1), es decir
j (t; y)
(t; y 0 )j L jy y 0 j;
2

Truncamiento aqu se reere al truncamiento de la expansin de Taylor, no a posible truncamiento en los


clculos numricos.
3
La denicin de error local en el libro de Mathews & Fink (p. 474) es incorrecta (probablemente un error de
escritura; como esta all es de hecho igual al error global). La razn para denir el error local como se ha hecho
se ver en el anlisis a continuacin.

obtenemos
jek+1 j

j"k+1 j + jek j + hL jy(tk )


= j"k+1 j + jek j (1 + hL):

yk j

Expandiendo esta relacin de recurrencia, obtenemos


jek+1 j

k
X
j=0

j"k+1 j j(1 + hL)j + je0 j(1 + hL)k+1 :

Ahora usando j"k+1 j j ChN +1 , e0 = 0 y la desigualdad 1 + x


se obtiene truncando la serie de Taylor ex = 1 + x + x2 + x3 +
ChN +1 1 + (1 + hL) + (1 + hL)2 +

jek+1 j

= ChN +1
=

ex , vlida para x > 0 (la cual


+ xn +
), obtenemos
+ (1 + hL)k

(1 + hL)k+1 1
(1 + hL) 1

C N
h ((1 + hL)k+1
L
C N
h (1 + hL)k+1
L
C N hL(k+1)
h e
:
L

1)

En particular, para el error global nal jeM j en tM se tiene


jeM j
donde T = tM

C LT N
e h
L

t0 = M h es el tiempo total de la solucin. Entonces


D hN

jeM j

donde D = (C=L)eLT . En conclusin, este anlisis demuestra que si (t; y) es Lipschitz en la


segunda variable, entonces j"k+1 j = O(hN +1 ) implica que jek j = O(hN ).
Otros errores de escritura en el captulo 9 de Mathews y Fink son:
1. Teorema 9.4: La denicin de

(tk ; yk ) debe ser:

1
[f (tk ; yk ) + f (tk+1 ; yk + hf (tk ; yk ))]
2
1
=
[f (tk ; yk ) + f (tk + h; yk + hf (tk ; yk ))]
2

(tk ; yk ) =

2. Programa 9.2: En el mtodo numrico qued faltando una h: El correcto es


yk+1 = yk +

h
[f (tk ; yk ) + f (tk+1 ; yk + hf (tk ; yk ))]
2
3

3. Teorema 9.6: Quedaron mal las expresiones O (O grande). Lo correcto es


jek j = jy (tk )

j"k+1 j = jy (tk+1 )

yk j = O hN

[y(tk ) + hTN (tk ; y(tk ))]j = O hN +1

4. Teorema 9.7: Debe ser


jek j = jy (tk ) yk j = O h4
j"k+1 j = jy (tk+1 ) [y(tk ) + hG (tk ; y(tk ))]j = O h5
donde el mtodo de Runge Kutta de orden 4 se dene asi: yk+1 = yk + hG (tk ; yk ) con
G (tk ; yk ) =

1
(f1 + 2f2 + 2f3 + f4 )
6

y
f1 = f (tk ; yk )
h
h
f2 = f tk + ; yk + f1
2
2
h
h
f3 = f tk + ; yk + f2
2
2
f4 = f (tk + h; yk + hf3 )