Вы находитесь на странице: 1из 14

9 SOLUCIONES NUMRICAS DE ECUACIONES DIFERENCIALES ORDINARIAS

9.1 Mtodos de Euler y anlisis de errores


9.2 Mtodos de Runge-Kutta
9.3 Mtodos multipasos
9.4 Ecuaciones y sistemas de orden superior
9.5 Problemas con valores en la frontera de segundo orden

REPASO DEL CAPTULO 9

Aun cuando se pueda demostrar que la solucin de una ecuacin diferencial exista, no siempre
es posible expresarla en forma explcita o implcita. En muchos casos tenemos que conformarnos
con una aproximacin de la solucin. Si la solucin existe, se representa por un conjunto de
puntos en el plano cartesiano. En este captulo continuamos investigando la idea bsica de la
seccin 2.6, es decir, utilizar la ecuacin diferencial para construir un algoritmo para aproximar las
coordenadas y de los puntos de la curva solucin real. Nuestro inters en este captulo son

principalmente los PVI = (, ), (0 ) = 0 . En la seccin 4.9 vimos que los procedimientos
numricos desarrollados para las ED de primer orden se generalizan de una manera natural para
sistemas de ecuaciones de primer orden y por tanto se pueden aproximar soluciones de una
ecuacin de orden superior remodelndola como un sistema de ED de primer orden. El captulo 9
concluye con un mtodo para aproximar soluciones de problemas con valores en la frontera
lineales de segundo orden.

9.1 MTODOS DE EULER Y ANLISIS DE ERRORES

REPASO DE MATERIAL

Seccin 2.6

INTRODUCCIN En el captulo 2 se examin uno de los mtodos numricos ms simples para


aproximar soluciones de problemas con valores iniciales de primer orden = (, ), (0 ) = 0 .
Recuerde que la estructura del mtodo de Euler fue la frmula

+1 = + ( , ), (1)

donde es la funcin obtenida de la ecuacin diferencial = (, ). El uso recursivo de (1)


para = 0, 1, 2, . .. produce las ordenadas , 1 , 2 , 3 , . .. de puntos en rectas tangentes sucesivas
respecto a la curva solucin en 1 , 2 , 3 , . . . = 0 + , donde es una constante y es el
tamao de paso entre y +1 . Los valores 1 , 2 , 3 , aproximan los valores de una solucin
() del PVI en 1 , 2 , 3 , . .. Pero sin importar la ventaja que la ecuacin (1) tenga en su
simplicidad, se pierde en la severidad de sus aproximaciones.

UNA COMPARACIN En el problema 4 de los ejercicios 2.6 se pidi usar el mtodo de Euler
para obtener el valor aproximado de (1.5) para la solucin del problema con valores iniciales
2
= 2, (1) = 1. Se debe haber obtenido la solucin analtica = 1 y resultados similares a
los que se presentan en las tablas 9.1 y 9.2.

En este caso, con un tamao de paso = 0.1, un error relativo de 16% en el clculo de la
aproximacin a (1.5) es totalmente inaceptable. A expensas de duplicar el nmero de clculos,
se obtiene cierta mejora en la precisin al reducir a la mitad el tamao de paso, es decir = 0.05.

ERRORES EN LOS MTODOS NUMRICOS Al elegir y usar un mtodo numrico para la


solucin de un problema con valores iniciales, se debe estar consciente de las distintas fuentes
de error. Para ciertas clases de clculos, la acumulacin de errores podra reducir la precisin de
una aproximacin al punto de hacer intil el clculo. Por otra parte, dependiendo del uso dado a
una solucin numrica, una precisin extrema podra no compensar el trabajo y la complicacin
adicionales.
Una fuente de error que siempre est presente en los clculos es el error de redondeo. Este
error es resultado del hecho de que cualquier calculadora o computadora puede representar
nmeros usando slo un nmero finito de dgitos. Suponga, por ejemplo, que se tiene una
1
calculadora que usa aritmtica base 10 y redondea a cuatro dgitos, de modo que 3 se representa
1
en la calculadora como 0.3333 y se representa como 0.1111. Si con esta calculadora se calcula
9
1 1
( 2 9) / ( 3) para = 0.3334, se obtiene

(0.3342 0.1111)
= 1.
(0.3334 0.3333)

Sin embargo, con ayuda de un poco de lgebra, vemos que

1 1 1
( 2 9) ( 3) ( + 3) 1
= =+ ,
1 1 3
( 3) 3

1 1
por lo que cuando = 0.3334, ( 2 9) / ( 3) 0.3334 + 0.3333 = 0.6667. Este ejemplo
muestra que los efectos del redondeo pueden ser bastante considerables a menos que se tenga
cierto cuidado. Una manera de reducir el efecto del redondeo es reducir el nmero de clculos.
Otra tcnica en una computadora es usar aritmtica de doble precisin para comprobar los
resultados. En general, el error de redondeo es impredecible y difcil de analizar y se desprecia en
el anlisis siguiente, por lo que slo nos dedicaremos a investigar el error introducido al usar una
frmula o algoritmo para aproximar los valores de la solucin.

ERRORES DE TRUNCAMIENTO PARA EL MTODO DE EULER En la sucesin de valores


1 , 2 , 3 , . ... generados de (1), usualmente el valor de 1 no concuerda con la solucin real en 1 ,
en particular, (1 ), porque el algoritmo slo da una aproximacin de lnea recta a la solucin.
Vase la figura 2.6.2. El error se llama error de truncamiento local, error de frmula o error de
discretizacin. Este ocurre en cada paso, es decir, si se supone que es precisa, entonces
+1 tendr error de truncamiento local.
Para deducir una frmula para el error de truncamiento local del mtodo de Euler, se usa la
frmula de Taylor con residuo. Si una funcin () tiene + 1 derivadas que son continuas en un
intervalo abierto que contiene a y a , entonces

( ) ( )+1
() = () + () + + () () + (+1) () ,
1! ! ( + 1)!

donde es algn punto entre y . Al establecer = 1, = y = +1 = + , se obtiene

2
(+1 ) = ( ) + ( )
+ ()
1! 2!
O
2
(+1 ) = + ( , ) + () .
1! 2!

El mtodo de Euler (1) es la ltima frmula sin el ltimo trmino; por tanto, el error de
truncamiento local en +1 1 es

2
() , < < +1 .
2!

Usualmente se conoce el valor de (existe desde el punto de vista terico) y por tanto no se
puede calcular el error exacto, pero un lmite superior en el valor absoluto del error es 2 /2!,

donde = |()|.
< < +1

Al analizar los errores que surgen del uso de mtodos numricos, es til usar la notacin ( ).
Para definir este concepto, se denota con () el error en un clculo numrico dependiendo de .
Entonces se dice que () es de orden , denotado con ( ), si existe una constante y un
entero positivo tal que |()| para suficientemente pequea. Por lo que el error de
truncamiento local para el mtodo de Euler es (2 ). Se observa que, en general, si () en un
mtodo numrico es del orden y se reduce a la mitad, el nuevo error es ms o menos

(2) = /2 ; es decir, el error se redujo por un factor de 1/2 .

EJEMPLO 1 Lmite para errores de truncamiento local

Determine un lmite superior para los errores de truncamiento local del mtodo de Euler aplicado
a = 2, (1) = 1.
2 1 2 1
SOLUCIN De la solucin = obtenemos = (2 + 4 2 ) , por lo que el error de
truncamiento es

2 2 2
() = (2 + 4 2 ) 1 ,
2! 2
donde est entre y + . En particular, para = 0.1 se puede obtener un lmite superior en
el error de truncamiento local para 1 al reemplazar por 1.1:

2 1] (0.1)2
[2 + (4)(1.1)2 ] [(1.1) = 0.0422.
2

De la tabla 9.1 se observa que el error despus del primer paso es 0.0337, menor que el valor
dado por el lmite.
De igual forma, se puede obtener un lmite para el error de truncamiento local de cualquiera de
los cinco pasos que se muestran en la tabla 9.1 al reemplazar por 1.5 (este valor de da el valor
ms grande de () de cualquiera de los pasos y puede ser demasiado generoso para los
primeros pasos). Al hacer esto se obtiene

(0.1)2
2 1]
[2 + (4)(1.5)2 ] [(1.5) = 0.1920 (2)
2
como un lmite o cota superior para el error de truncamiento local en cada paso.

Observe que si se reduce a 0.05 en el ejemplo 1, entonces el lmite de error es 0.0480, casi un
cuarto del valor que se muestra en (2). Esto es de esperarse porque el error de truncamiento local
para el mtodo de Euler es (2 ).
En el anlisis anterior se supone que el valor de fue exacto en el clculo de +1 pero no lo es
porque contiene errores de truncamiento local de los pasos anteriores. El error total en +1 es
una acumulacin de errores en cada uno de los pasos previos.
Este error total se llama error de truncamiento global. Un anlisis completo del error de
truncamiento global queda fuera del alcance de este libro, pero se puede mostrar que el error de
truncamiento global para el mtodo de Euler es ().
Se espera que para el mtodo de Euler, si el tamao de paso es la mitad, el error ser ms o
menos la mitad. Esto se confirma en las tablas 9.1 y 9.2 donde el error absoluto en = 1.50 con
= 0.1 es 0.5625 y con = 0.05 es 0.3171, aproximadamente la mitad.
En general, se puede demostrar que si un mtodo para la solucin numrica de una ecuacin
diferencial tiene error de truncamiento local (+1 ), entonces el error de truncamiento global es
( ).
En lo que resta de esta seccin y en las siguientes, se estudian mtodos mucho ms precisos
que el mtodo de Euler.

MTODO DE EULER MEJORADO El mtodo numrico definido por la frmula

( , ) + (+1 , +1 )
+1 = + , (3)
2

Donde

+1 = + ( , ), (4)

se conoce comnmente como el mtodo de Euler mejorado. Para calcular +1 para =


0, 1, 2, . .. de (3), se debe, en cada paso, usar primero el mtodo de Euler (4) para obtener una

estimacin inicial +1 . Por ejemplo, con = 0, usando (4) se obtiene 1 = 0 + (0 , 0 ) y
despus, conociendo este valor, se usa (3) para obtener

(0 , 0 ) + (1 , 1 )
1 = 0 +
2
, donde 1 = 0 + . Estas ecuaciones se representan con facilidad. En la figura 9.1.1 se observa
que 0 = (0 , 0 ) y 1 = (1 , 1 ) son pendientes de las rectas trazadas con la lnea continua
que pasan por los puntos (0 , 0 ) y (1 , 1 ), respectivamente. Tomando un promedio de estas
pendientes, es decir,
(0 , 0 ) + (1 , 1 )
=
2

, se obtiene la pendiente de las rectas paralelas inclinadas.


Con el primer paso, ms que avanzar a lo largo de la recta que pasa por (0 , 0 ) con pendiente
(0 , 0 )) al punto con coordenada y 1 obtenida por el mtodo de Euler, se avanza a lo largo de
la recta punteada de color rojo que pasa por (0 , 0 ) con pendiente hasta llegar a 1 . Al
examinar la figura parece posible que 1 sea una mejora de 1 .

FIGURA 9.1.1 La pendiente de la recta roja punteada es el promedio de 0 y 1 .

En general, el mtodo de Euler mejorado es un ejemplo de un mtodo de prediccin-



correccin. El valor de +1 * 1 dado por (4) predice un valor de ( ), mientras que el valor de
+1 1 definido por la frmula (3) corrige esta estimacin.

EJEMPLO 2 Mtodo de Euler mejorado

Use el mtodo de Euler mejorado para obtener el valor aproximado de y(1.5) para la solucin del
problema con valores iniciales = 2, (1) = 1. Compare los resultados
para = 0.1 y = 0.05.

SOLUCIN Con 0 = 1, 0 = 1, ( , ) = 2 , = 0 y = 0.1, primero se calcula (4):

1 = 0 + (0.1)(20 0 ) = 1 + (0.1)2(1)(1) = 1.2.

Se usa este ltimo valor en (3) junto con 1 = 1 + = 1 + 0.1 = 1.1:

20 0 + 21 1 2(1)(1) + 2(1.1)(1.2)
1 = 0 + (0.1) = 1 + (0.1) = 1.232.
2 2

En las tablas 9.3 y 9.4, se presentan los valores comparativos de los clculos para = 0.1 y =
0.05, respectivamente.
Aqu es importante hacer una advertencia. No se pueden calcular primero todos los valores de ;
y despus sustituir sus valores en la frmula (3). En otras palabras, no se pueden usar los datos
de la tabla 9.1 para ayudar a construir los valores de la tabla 9.3. Por qu no?

ERRORES DE TRUNCAMIENTO PARA EL MTODO DE EULER MEJORADO

El error de truncamiento local para el mtodo de Euler mejorado es (3 ). La deduccin de este


resultado es similar a la deduccin del error de truncamiento local para el mtodo de Euler.
Puesto que el error de truncamiento para el mtodo de Euler mejorado es (3 ), el error de
truncamiento global es (2 ). Esto se puede ver en el ejemplo 2; cuando el tamao de paso se
reduce a la mitad de = 0.1 a = 0.05, el error absoluto en = 1.50 se reduce de 0.0394 a
0.0108, una reduccin de aproximadamente

1 2 1
( ) = .
2 4

EJERCICIOS 9.1

En los problemas l a 10, use el mtodo de Euler mejorado para obtener una aproximacin de
cuatro decimales del valor indicado. Primero use = 0.1 y despus = 0.05.

. = 2 3 + 1, (1) = 5; (1.5)
Solucin:
. = 4 2, (0) = 2; (0.5)
Solucin:

. = 1 + 2 , (0) = 0; (0.5)
Solucin:

. = 2 + 2 , (0) = 1; (0.5)
Solucin:
. = , (0) = 0; (0.5)
Solucin:

. = + 2 , (0) = 0; (0.5)
Solucin:

. = ( )2 , (0) = 0.5; (0.5)


Solucin:
. = + , (0) = 1; (0.5)
Solucin:

. = 2 + , (1) = 1; (1.5)
Solucin:

. = 2 , (0) = 0.5; (0.5)


Solucin:
11. Considere el problema con valores iniciales = ( + 1)2 , (0) = 2. Use el mtodo de
Euler mejorado con = 0.1 y = 0.05 para obtener los valores aproximados de la solucin en =
0.5. En cada paso compare el valor aproximado con el valor real de la solucin analtica.
Solucin:

12. Aunque podra no ser evidente de la ecuacin diferencial, su solucin podra tener un mal
comportamiento cerca de un punto en el que se desea aproximar (). Los procedimientos
numricos podran dar resultados bastante distintos cerca de este punto. Sea () la solucin del
problema con valores iniciales = 2 + 3 , (1) = 1.

a) Use un programa de solucin numrica para trazar la solucin en el intervalo [1, 1.4].
b) Con el tamao de paso = 0.1, compare los resultados obtenidos con el mtodo de Euler con
los del mtodo de Euler mejorado en la aproximacin de (1.4).
Solucin:
13. Considere el problema con valores iniciales = 2, (0) = 1. La solucin analtica es =
2 .
a) Aproxime (0.1) con un paso y el mtodo de Euler.
b) Determine un lmite para el error de truncamiento local en 1 .
c) Compare el error en 1 con su lmite de error.
d) Aproxime (0.1) con dos pasos y el mtodo de Euler.
e) Compruebe que el error de truncamiento global para el mtodo de Euler es () al comparar
los errores de los incisos a) y d).
Solucin:

14. Repita el problema 13 con el mtodo de Euler mejorado. Su error de truncamiento global es
(2 ).
Solucin:
15. Repita el problema 13 con el problema con valores iniciales = 2 , (0) = 1. La solucin
analtica es

1 1 5
= + 2 .
2 4 4
Solucin:

16. Repita el problema 15 usando el mtodo de Euler mejorado. Su error de truncamiento global
es (2 ).
Solucin:

17. Considere el problema con valores iniciales = 2 3 , (1) = 5. La solucin analtica es

1 2 38
() = + + 3(1) .
9 3 9

a) Encuentre una frmula en la que intervengan y para el error de truncamiento local en el n-


simo paso si se usa el mtodo de Euler.
b) Encuentre un lmite para el error de truncamiento local en cada paso si se usa = 0.1 para
aproximar (1.5).
c) Aproxime (1.5) con = 0.1 y = 0.05 con el mtodo de Euler. Vase el problema 1 de los
ejercicios 2.6.
d) Calcule los errores del inciso c) y compruebe que el error de truncamiento global del mtodo de
Euler es ().
Solucin:
18. Repita el problema 17 usando el mtodo de Euler mejorado que tiene un error de
truncamiento global (2 ). Vase el problema 1. Podra ser necesario conservar ms de cuatro
decimales para ver el efecto de reducir el orden del error.
Solucin:

19. Repita el problema 17 para el problema con valores iniciales = , (0) = 0. La solucin
analtica es () = ( + 1). Aproxime (0.5). Vase el problema 5 en los ejercicios 2.6.
Solucin:
20. Repita el problema 19 con el mtodo de Euler mejorado, que tiene un error de truncamiento
global (2 ). Vase el problema 5. Podra ser necesario conservar ms de cuatro decimales para
ver el efecto de reducir el orden de error.
Solucin:

Problemas para analizar

21. Conteste la pregunta Por qu no? que sigue a los tres enunciados despus del ejemplo 2
de la pgina 343.
Solucin:

Вам также может понравиться