Terorema de Euler y Euler Mejorado

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Ecuaciones Diferenciales y C´alculo

Num´erico Tema 11
(versio´n 24 de marzo de 2014)
Departamento de

Matemática Aplicada Grado en Ingenier´ıa de Tecnolog´ıas de Telecomunicaci´on

Tema 11. Introducci´on a los m´etodos num


´ericos para problemas de valores
iniciales

1. Introduccio´n
En esta tema veremos una (muy) breve introducci´on a los m´etodos num´ericos de aproximaci´on de
soluciones de problemas de valores iniciales. La raz´on de este tema viene de la imposibilidad, en
muchas ocasiones, de conocer una expresi´on expl´ıcita de la soluci´on de un problema dado,
bien porque no haya un m´etodo que nos permita resolver la ecuaci´on diferencial correspondiente,
bien porque podamos resolver la ecuaci´on pero no obtengamos una expresi´on de la soluci´on en t
´erminos de funciones elementales.

Definici´on 1. Un problema de valores iniciales viene dado por

( x′(t) = f (t,
x(t)), x(t0) = x0, (1)

donde f (t, x) es una funci´on continua definida en un dominio D, subconjunto abierto y arco-conexo de R2 ,
y (t0, x0) es un punto de D.

Definici´on 2. Una soluci´on de (1) es una funci´on x(t), definida en un intervalo abierto I (que contiene a
t0 ), tal que
x ∈ C1(I),
(t, x(t)) ∈ D, ∀t ∈ I,

x(t0) = x0,
x′(t) = f (t, x(t)), ∀t ∈ I.

La idea base en los m´etodos que veremos es, partiendo de la condici´on inicial (t0 , x0 ), aproximar el
valor x(t1 ) de la soluci´on para t1 cercano a t0 . A continuaci´on, aproximar x(t2 ) para t2 cercano a t1 y
as´ı suce- sivamente. En otras palabras, si x(t) es la soluci´on de (1) definida en el intervalo [a, b] ⊂ I
(con a = x0 ),
nuestro objetivo es calcular una sucesi´on de valores {xk } de forma que x(tk ) ≈ xk para tk = x0 + kh,
donde
b− a
k = 0, 1, . . . , n y h
n
Al par´ametro h se le denomina el paso y, aunque puede ser variable, en los m´etodos que vamos a
ver
siempre ser´a constante. En teor´ıa, cuando h 0 (esto es, cuando n ) obtenemos la soluci´on exacta
→ →
de (1). En la pr´actica esto no ocurrir´a debido, entre otras razones, a los errores de redondeo que
introducen los c´alculos con el ordenador.
Para introducir los m´etodos de aproximaci´on, podemos recurrir a la interpretaci´on geom´etrica
de las ecuaciones diferenciales, es decir, a los llamados campos de direcciones. Sin embargo, hemos preferido
emplear la expresi´on integral del problema de valores iniciales (1), es decir, la expresi´on
∫ t

t
x(t) = x(t0) f (s, x(s)) ds,
que es la resultante de integrar en ambos t´erminos de la ecuaci´on diferencial en el intervalo [t0 , t] y ajustar
la condici´on inicial x(t0 ) = x0 . Los distintos m´etodos se obtendr´an aplicando adecuadas f´ormulas de
cuadratura num´erica a la integral que aparece en (2).
1
2. M´etodo de Euler
Es claro que, con la notaci´on de la secci´on anterior, el valor de la soluci´on (exacta) en el punto t1
viene dado por
∫t
x(t1) = x(t0) + 1
f (s, x(s)) ds.
t0
Aplicando la f´ormula del rect´angulo a izquierdas, tenemos que
x(t1) = x(t0) + (t1 − t0)f (t0, x(t0)).
Tomando x0 = x(t0), x1 = x(t1) y h = t1 − t0, queda
x1 = x0 + hf (t0, x0).
Haciendo lo mismo para los sucesivos puntos, tenemos la recurrencia que define al m´etodo de Euler. A
saber,
xk+1 = xk + hf (tk, xk), k = 0, 1, . . . , n − 1.
Nota 3. Se dice que el m´etodo de Euler es un m´etodo de un paso, pues cada t´ermino de la sucesi´on xk
{ }
se calcula a partir del anterior.
Adem´as, se dice que Euler es un m´etodo expl´ıcito de un paso, pues cada t´ermino se calcula
directamente a partir del anterior. Se entender´a el significado de esta frase cuando se vea un ejemplo de m
´etodo impl´ıcito.
Ejemplo 4. Consideramos el problema de valores iniciales
( x′(t) = x(t),
x(0) = 1.
Claramente la soluci´on es x(t) = et , t R. Apliquemos el m´etodo de Euler para aproximar x(0.5)

tomando
h = 0.1 (obs´ervese que f (t, x) =
x): x(0) = x0 = 1
x(0.1) ≈ x1 = x0 + hf (t0, x0) = 1 + 0.1f (0, 1) = 1 + 0.1 · 1 = 1.1
x(0.2) ≈ x2 = x1 + hf (t1, x1) = 1.1 + 0.1f (0.1, 1.1) = 1.1 + 0.1 · 1.1 = 1.21
x(0.3) ≈ x3 = x2 + hf (t2, x2) = 1.21 + 0.1f (0.2, 1.21) = 1.21 + 0.1 · 1.21 = 1.331
x(0.4) ≈ x4 = x3 + hf (t3, x3) = 1.331 + 0.1f (0.3, 1.331) = 1.331 + 0.1 · 1.331 = 1.4641
x(0.5) ≈ x2 = x1 + hf (t1, x1) = 1.4641 + 0.1f (0.4, 1.4641) = 1.4641 + 0.1 · 1.4641 = 1.61051
Teniendo en cuenta que e0.1 = 1.10517 . . . , e0.2 = 1.22140 . . . , e0.3 = 1.34985 . . . , e0.4 = 1.49182 . . . y e0.5 =
1.64872 . . . , vemos que los valores aproximados se van alejando de los exactos. La raz´on es la acumulaci´on
de errores en las sucesivas aproximaciones que, en este ocasi´on, se deben al m´etodo empleado.
Como es habitual en el c´alculo num´erico, uno de los objetivos al trabajar es conseguir controlar los
errores que se deben al m´etodo, adem´as de los que se deriven de los posibles redondeos resultantes de
operar con el ordenador.

3. M´etodo de Heun (o de Euler mejorado)


Partimos nuevamente de la expresi´on
t1
x(t1) = x(t0) + ∫ f (s, x(s)) ds.
t0

Si aplicamos ahora la f´ormula del trapecio a la integral, tenemos que


t1 − t0
x(t ) = x(t ) + [f (t , x(t ) + f (t , x(t )))] .
1 0 0 0 1 1
2
O sea,
h
x1 = x0 + [f (t0, x0) + f (t1, x1)] .
Haciendo lo mismo en los puntos sucesivos, la 2recurrencia asociada al m´etodo de Heun
2
es
h
xk+1 = xk + [f (tk, xk) + f (tk+1, xk+1)] , k = 0, 1, . . . , n −
2 1.

3
Nota 5. Se dice que el m´etodo de Heun es un m´etodo impl´ıcito. Esto significa que, en cada paso,
xk+1 est´a definido en funci´on de s´ı mismo. Por tanto, salvo que f sea lineal en x, necesitaremos
resolver una ecuaci´on no lineal.
Para solventar este inconveniente una posibilidad es calcular un valor previo x∗k+1 y, a partir de ´el,
deter- mina xk+1 . Tenemos as´ı que Heun es un ejemplo de los llamados m´etodos multi-paso predictor-
corrector.

A partir del comentario anterior, el m´etodo de Heun viene dado por la


( recurrencia Predicci´on: x∗k+1 = xk + hf (tk , xk ),

Correcci´on: xk+1 = xk + h
f (tk , xk ) + f (tk+1 , xk +1 ) ,
2

para k = 0, 1, . . . , n − 1. En este m´etodo, las predicciones se calculan aplicando el m´etodo de Euler.

Ejemplo 6. De nuevo consideramos el problema de valores iniciales


( x′(t) = x(t),
x(0) = 1,

y aplicamos el m´etodo de Heun para aproximar x(0.5) tomando h = 0.1:


x(0) = x0 = 1

x∗1 = x0 + hf (t0 , x0 ) = 1 + 0.1f (0, 1) = 1 + 0.1 · 1 = 1.1


x(0.1) ≈ x1 = x0 + h[f (t0, x0) + f (t1, x1)] = 1 + 0.05 · [1 + 1.1] = 1.105
2

x 2 = x1 + hf (t1 , x1 ) = 1.105 + 0.1f (0.1, 1.105) = 1.105 + 0.1 · 1.105 = 1.2155
x(0.1) ≈ x2 = x1 + h[f (t1, x1) + f (t2, x2)] = 1.105 + 0.05 · [1.105 + 1.2155] = 1.221025
2
x∗3 = 1.3431275 x(0.1) ≈ x3 = 1.349232625
x∗4 = 1.4841558875, x(0.4) ≈ x4 = 1.490902050625
x∗5 = 1.6399922556875, x(0.5) ≈ x5 = 1.64744676594062

Se observa que la aproximaciones son mejores que con el m´etodo de Euler.

4. M´etodo de Euler modificado


Este m´etodo se obtiene de aplicar a la expresi
´on
∫t1
f (s, x(s)) ds
x(t1) = x(t0) + t0

la f´ormula del rect´angulo en el punto medio, quedando


t1 − t0
x(t ) = x(t ) + — t )f + ,x t t1 − t0
(t t + .
1 0 1 0 0
2 0
2

t1 −t 0
O sea, siendo x1/2 = x t0 + 2 ,
h
x1 = x0 + ,
x
+ hf t0 2 1/2 .

En general, el m´etodo de Euler modificado viene dado por la recurrencia


h
xk+1 = + , k+1/2 , k = 0, 1, . . . , n − 1.
x
xk + hf tk 2

Nota 7. Este m´etodo no es es impl´ıcito, pues no viene dado xk+1 en funci´on de s´ı mismo, pero
tampoco es expl´ıcito, pues necesitamos determinar previamente xk+1/2. Como en el caso de Heun,
4
usaremos Euler para hallar el valor previo. Por tanto, se puede considerar que Euler modificado es un m
´etodo de dos pasos.

5
As´ı pues, el m´etodo de Euler modificado viene dado por la recurrencia
( Predicci´on: xk+1/2 = xk + h
f (tk , xk ),
2

2
Correcci´on: xk+1 = xk + hf tk + h
, xk+1/2
,

para k = 0, 1, . . . , n − 1.
Ejemplo 8. Aplicando Euler modificado al problema
( x′(t) = x(t),
x(0) = 1,

para aproximar x(0.5) con h = 0.1, obtenemos:


x(0) = x0 = 1
x1/2 = x0 + h f (t0, x0) = 1 + 0.05f (0, 1) = 1 + 0.05 · 1 = 1.05
2
x(0.1) ≈ x1 = x0 + hf t0 + , xh1/2 = 1 + 0.1 · 1.05 = 1.105
2
x3/2 = x1 + h f (t1, x1) = 1.105 + 0.05f (0.1, 1.105) = 1.105 + 0.05 · 1.105 = 1.16025
2
x(0.2) ≈ x2 = x1 + hf t1 + , xh3/2 = 1.105 + 0.1 · 1.16025 = 1.221025
2
x5/2 = 1.28207625 x(0.3) ≈ x3 = 1.349232625
x7/2 = 1.41669425625, x(0.4) ≈ x4 = 1.490902050625
x9/2 = 1.56544715315625, x(0.5) ≈ x5 = 1.64744676594062
En este problema las aproximaciones, en 0.1, 0.2, 0.3, 0.4 y 0.5, coinciden con las del m´etodo de Heun.
Esto no es cierto en general.

5. M´etodo de Runge-Kutta (de orden 4)


Este es, quiz´as, el m´etodo m´as usual en la aproximaci´on de soluciones de ecuaciones
diferenciales. Se puede ver como resultado de la aplicaci´on de la regla de Simpson como f´ormula de
cuadratura num´erica. Para determinar cada elemento de la sucesi´on xk se realizan cuatro estimaciones
{ }
previas, de acuerdo con el siguiente esquema
K1 = f (tk, xk),

K 2 = f tk + h 2, xk + h2
K1 ,
K 3 = f tk + h
2, xk + h
2 K2 ,

K4 3=),f (tk + h, xk +
hK
y, a continuaci´on, se define
h
xk+1 = xk +
(K1 + 2K2 + 2K3 + K4) .
6
Nota 9. Aunque necesitamos cuatro c´alculos previos al c´alculo de la aproximaci´on en cada punto, el m
´etodo de Runge-Kutta es un m´etodo expl´ıcito de un paso.
Ejemplo 10. Apliquemos el m´etodo de Runge-Kutta al problema
( x′(t) = x(t),
x(0) = 1,

para aproximar x(0.5) con h = 0.1. Obtenemos la siguiente tabla,


x(0) = x0 = 1
6
x(0.1) ≈ x1 = 1.105170833333333 con
• K1 = 1, K2 = 1.05, K3 = 1.0525, K4 = 1.10525.

7
x(0.2) ≈ x2 = 1.221402570850695 con

• K1 = 1.105170833333333, K2 = 1.160429375, K3 =
1.163192302083334, K4 = 1.221490063541667.
x(0.3) ≈ x3 = 1.349858497062538 con

• K1 = 1.221402570850695, K2 = 1.282472699393229, K3 = 1.285526205820356,


K4 = 1.349955191432730.
x(0.4) ≈ x4 = 1.491824240080686 con

• K1 = 1.349858497062538, K2 = 1.417351421915665, K3 = 1.420726068158321,


K4 = 1.491931103878370.
x(0.5) ≈ x5 = 1.64872063859684 con

• K1 = 1.491824240080686, K2 = 1.566415452084720, K3 = 1.570145012684922,


K4 = 1.648838741349178.

A la vista de este ejemplo, es claro que con este m´etodo es de esperar que, en general, se obtendr´an las
mejores aproximaciones a la soluci´on exacta.

6. Un m´etodo expl´ıcito de dos pasos


Para obtener este m´etodo vamos a partir de la ecuaci´on diferencial de (1). Si aproximamos la
derivada mediante la f´ormula de derivaci´on num´erica del punto medio, tenemos que, para un punto tk ,
x(tk+1) − x(tk−1)
x′(t ) = f (t , x(t )) ⇒ ≈ f (t , x(t )).
k k k
tk+1 − tk−1 k k

Considerando h = tk+1 − tk constante y la notaci´on empleada en las secciones anteriores,

xk+1 = xk−1 + 2hf (tk, xk), k = 1, . . . , n − 1

Puesto que es un m´etodo de dos pasos, para el c´alculo de x1 haremos uso de un m´etodo de un paso
(por ejemplo, Euler).

7. Algunas cuestiones te´oricas


Cuando se aplica un m´etodo, con paso h, se deben considerar los siguientes errores.
Definici´on 11. El error global en el punto tk+1 es la cantidad ek+1 (h) = |xk+1 − x(tk+1 )|, donde
xk+1 es el valor aproximado calculado, por el m´etodo correspondiente, en el punto tk+1 ;
x(tk+1 ) es el valor correspondiente para la soluci´on exacta del problema de valores iniciales con x(t0 ) =
x0 .
Definici´on 12. El error m´aximo global es el valor

E(h) = m´ax{ek (h)}.


k

Definici´on 13. El error local en el punto tk+1 es igual a la cantidad εk+1 (h) resultante de tomar el
valor absoluto de la diferencia entre
el valor aproximado xk+1 calculado, por el m´etodo correspondiente, en el punto tk+1
y el valor, en el punto tk+1 , de la soluci´on exacta de la ecuaci´on diferencial que satisface la
condici´on inicial x(tk) = xn.
Nota 14. En la pr´actica, el error local es la suma de
el error local de truncamiento (o error de discretizaci´on) ε1,k (h) debido a la aproximaciones
realizadas para definir el m´etodo;

8
el error local de redondeo ε2,k (h) debido a los redondeos de la representaci´on en punto flotante
(por parte del ordenador).
Teorema 15. Si los errores locales εk (h) est´an acotados por un valor ε(h), entonces se satisface que
ek(h) ≤ C ε ,
h
para una cierta constante C.
Si suponemos que los c´alculos se realizan de forma exacta, entonces ε2,k (h) es siempre nulo, es decir,
εk(h) = ε1,k(h). A partir de aqu´ı se define el concepto de consistencia.
Definici´on 16. Se dice que un m´etodo es consistente si
1
l´ım ε (h) = 0,
h→0 h 1
donde ε1 (h) = m
´axk {ε1,k (h)}.
Hablando alegremente, que un m´etodo sea consistente significa que la aproximaci´on considerada en
su definici´on es “correcta” te´oricamente. No debemos confundir la consistencia de un m´etodo con su
convergencia, pues en este nuevo concepto intervienen los errores de redondeo.
Definici´on 17. Se dice que un m´etodo es convergente si l´ımh→0 E(h) = 0.
Definici´on 18. Se dice que un m´etodo es convergente de orden r si
E(h)
l
´ım = C,
h→0 hr
donde C es una constante no nula.
Por otra parte, si s´olo tenemos en cuenta los errores de redondeo, entonces surge el concepto de estabilidad.
Definici´on 19. Se dice que un m´etodo es estable cuando los errores de redondeo permanecen acotados.
En caso contrario se dice que el m´etodo es inestable.
En t´erminos m´as sencillos, un m´etodo es estable si pequen˜as variaciones en la condici´on inicial
producen pequen˜as diferencias en la soluci´on aproximada.
Para detectar un m´etodo inestable, una posible idea es comparar los resultados para distintos pasos
y valores aproximados de la condici´on inicial. Cuando hay inestabilidad la diferencia de los resultados
aumenta cuando se toman valores menores del paso.

8. Comparaci´on de los m´etodos expuestos


Los cinco m´etodos son consistentes y, en general, estables.
Euler es de orden 1; Heun (Euler mejorado), Euler modificado y el expl´ıcito de dos pasos son de orden
2; Runge-Kutta es (como su nombre indica) de orden 4.
Los m´etodos de un paso (Euler y Runge-Kutta) son bastantes exactos y f´aciles de programar, pero

• o son poco exactos, caso de Euler;


• o necesitan evaluar varias veces la funci´on f (t, x), caso de Runge-Kutta.
Los m´etodos de varios pasos se pueden programar para que precisen menos evaluaciones de la
funci´on
f (t, x) que Runge-Kutta, lo cual hace que su implementaci´on sea algo m´as
complicada. Si f (t, x) es complicada, entonces los m´etodos multi-paso pueden ser m
´as eficientes.

Referencias
[1] J. D. Lambert. “Computational methods in ordinary differential equations”. John Wiley & Sons, 1973.

9
[2] D. G. Zill. “Ecuaciones diferenciales con aplicaciones al modelado (S´eptima edici´on)”. Thomson
Learning, 2002 .

1
0

También podría gustarte