Conf 22 Ecuaciones Diferenciales

27

description

meto2s

Transcript of Conf 22 Ecuaciones Diferenciales

Page 1: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Solución numérica de ecuaciones diferenciales

ordinarias

Métodos Numéricos

Prof. Eduardo Uribe

Conferencia 22

Page 2: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Conferencia 22

1 Teoría básica

2 Método de Euler

3 Métodos de Taylor

4 Esquemas de Runge-Kutta

5 Sistemas de Ecuaciones

6 Métodos multipaso

Page 3: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ecuaciones diferenciales ordinarias

Problema de condición inicial

Encontrar una función y(t) que cumpla las siguientes condiciones:

dy

dt= f (t, y), ∀t ∈ [a, b]; y(a) = α

donde f (t, y), a, b y α son los datos del problema.

Resultado de existencia y unicidad

Sea f (t, y) continua en la franja D = {(t, y) | t ∈ [a, b], y ∈ R} y talque satisface una condición de Lipschitz de parámetro L en y (o sea,|f (t, y1)− f (t, y2)| ≤ L|y1 − y2|), entonces el problema de valor inicial

dy

dt= f (t, y), ∀t ∈ [a, b]; y(a) = α

posee una única solución y(t), con t ∈ [a, b].

Page 4: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo

Consideremos el problema de valor inicial

y ′ = 1+ t sin(ty), 0 ≤ t ≤ 2, y(0) = 0

Si se mantiene constante t y se aplica el teorema del valor medio a lafunción

f (t, y) = 1+ t sin(ty)

comprobemos que, siempre que y1 < y2, existe un número ξ en (y1, y2)con

f (t, y2)− f (t, y1)

y2 − y1=

∂yf (t, ξ) = t2 cos(ξt)

por tanto,

|f (t, y2)− f (t, y1)| = |y2 − y1||t2 cos(ξt)| ≤ 4|y2 − y1|

y f satisface la condición de Lipschitz L = 4. Y como además f (t, y) escontinua cuando t ∈ [0, 2] y y ∈ R, el problema de valor inicial tiene unaúnica solución.

Page 5: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Deducción de ecuación en diferencias

Discretización equidistante

Para resolver el problema inicial

dy

dt= f (t, y), ∀t ∈ [a, b]; y(a) = α

de�nimos una malla de N puntos ti = a+ ih, i = 0, 1, . . . ,N, con tamaño depaso h = (b − a)/N.

Aplicando desarrollo de Taylor

Si y(t) es una solución dos veces diferenciable del problema inicial tenemos:

y(ti+1) = y(ti ) + y ′(ti )(ti+1 − ti ) +y ′′(ξi )

2(ti+1 − ti )

2

y(ti+1) ≈ y(ti ) + f (ti , y(ti ))h

Page 6: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Algoritmo de Euler

Ecuaciones en diferencias: wi ≈ y(ti )

w0 = αwi+1 = wi + hf (ti ,wi )

Pseudocódigo

DATOS: a < b: Límites del intervalo y N (Nro de subintervalos)α: VALOR INICIAL.

RESULT: Aproximaciones w0, . . . ,wN de y(t0), . . . , y(tN)

PASO 1: De�nir: h = (b − a)/N; i = 0, t0 = a, y w0 = αPASO 2: Para i = 1 : N calcular:

wi = wi−1 + hf (ti−1,wi−1)ti = ti−1 + h

PASO 3: STOP(w0, . . . ,wN)

Page 7: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo

Ejercicio

Utilizando el método de Euler para N = 10 encuentre una solución aprox-imada de:

y ′ = y − t2 + 1, t ∈ [0, 2], y(0) = 0.5

Solución

Analítica:

y(t) = (t + 1)2 − 1

2et

Numérica: h = 2

10= 0.2; ti = 0.2i ; w0 = 0.5

wi+1 = wi + h(wi − t2i + 1)

wi+1 = wi + 0.2(wi − 0.04i2 + 1)

wi+1 = 1.2wi − 0.008i2 + 0.2

Page 8: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo

Resultados numéricos

y(t) = (t + 1)2 − 1

2et

wi+1 = 1.2wi − 0.008i2 + 0.2

ti wi y(ti ) |y(ti )− wi |0.0 0.5000000 0.5000000 0.00000000.2 0.8000000 0.8292986 0.02929860.4 1.1520000 1.2140877 0.06208770.6 1.5504000 1.6489406 0.09854060.8 1.9884800 2.1272295 0.13874951.0 2.4581760 2.6408591 0.18268311.2 2.9498112 3.1799415 0.23013031.4 3.4517734 3.7324000 0.28062661.6 3.9501281 4.2834838 0.33335571.8 4.4281538 4.8151763 0.38702252.0 4.8657845 5.3054720 0.4396874

Page 9: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo gra�cado: a = 0, b = 2, h1 = 1, h2 = 0.5, h3 = 0.2

Page 10: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo gra�cado: a = 0, b = 4, h1 = 1, h2 = 0.5, h3 = 0.2

Page 11: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Deducción

Discretización equidistante para resolver el problema inicial

dy

dt= f (t, y), ∀t ∈ [a, b]; y(a) = α

Malla de N puntos ti = a+ ih, i = 0, 1, . . . ,N, con h = (b − a)/N.

Aplicando desarrollo de Taylor de grado n

y(ti+1) = y(ti ) + hy ′(ti ) +h2

2y ′′(ti ) + · · ·+ hn

n!y (n)(ti ) +

y (n+1)(ξi )(n+1)!)

h(n+1)

pero:

y ′(t) = f (t, y(t)), y ′′(t) = f ′(t, y(t)), · · · , y (k)(t) = f (k−1)(t, y(t))

luego

y(ti+1) ≈ y(ti ) + hf (ti , y(ti )) +h2

2f ′(ti , y(ti )) + · · ·+ hn

n!f (n−1)(ti , y(ti ))

Page 12: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Método de Taylor de orden n:

Ecuaciones en diferencias

w0 = α

wi+1 = wi + hT (n)(ti ,wi ), i = 0, 1, . . . ,N − 1

donde

T (n)(ti ,wi ) = f (ti ,wi ) +h2f ′(ti ,wi ) + · · ·+ h(n−1)

n!f (n−1)(ti ,wi )

n = 1, Método de Euler: T (1)(ti ,wi ) = f (ti ,wi )

Ejemplo: y ′ = y − t2 + 1, t ∈ [0, 2], y(0) = 0.5

Método de Taylor de orden 2 (n = 2):

f ′(t, y(t)) = ddt(y − t2 + 1) = y ′ − 2t = y − t2 + 1− 2t

T (2)(ti ,wi ) = wi − t2i + 1+ h2(wi − t2i − 2ti + 1)

T (2)(ti ,wi ) =(1+ h

2

)[wi − t2i + 1]− hti

Page 13: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Método de Taylor de orden n:

Ejemplo: y ′ = y − t2 + 1, t ∈ [0, 2], y(0) = 0.5

Método de Taylor de orden 4 (n = 4):

f ′(t, y(t)) = y − t2 + 1− 2t =⇒ f ′′(t, y(t)) = y ′ − 2t − 2

f ′′(t, y(t)) = y − t2 + 1− 2t − 2 = y − t2 − 2t − 1

f ′′′(t, y(t)) = y ′ − 2t − 2 = y − t2 − 2t − 1

T (4)(ti ,wi ) = f (ti ,wi ) +h2f ′(ti ,wi ) +

h2

6f ′′(ti ,wi ) +

h3

24f ′′′(ti ,wi )

T (4)(ti ,wi ) = wi − t2i +1+ h2 (wi − t2i −2ti +1)+ h2

6 (wi − t2i −2ti −1)+ h3

24 (wi − t2i −2ti −1)

T (4)(ti ,wi ) =(1 + h

2 + h2

6 + h3

24

)(wi − t2i )−

(1 + h

3 + h2

12

)(hti ) + 1 + h

2 −h2

6 −h3

24

Page 14: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo

Resultados numéricos; y(ti ); wi (para n = 1,n = 2 y n = 4)

ti y(ti ) (n = 1) (n = 2) (n = 4)0.0 0.5000000 0.5000000 0.5000000 0.5000000

0.2 0.8292986 0.8000000 0.8300000 0.8293000

0.6 1.6489406 1.5504000 1.6520760 1.6489468

1.0 2.6408591 2.4581760 2.6486459 2.6408744

1.2 3.1799415 2.9498112 3.1913480 3.1799640

1.6 4.2834838 3.9501281 4.3061464 4.2835285

1.8 4.8151763 4.4281538 4.8462986 4.8152377

2.0 5.3054720 4.8657845 5.3476843 5.3055554

Errores: |wi − y(ti )| (para n = 1,n = 2 y n = 4)

ti (n = 1) (n = 2) (n = 4)0.2 0.0292986 0.0007014 0.0000014

0.6 0.0985406 0.0031354 0.0000062

1.0 0.1826831 0.0077868 0.0000153

1.2 0.2301303 0.0114065 0.0000225

1.6 0.3333557 0.0226626 0.0000447

1.8 0.3870225 0.0311223 0.0000615

2.0 0.4396874 0.0422123 0.0000834

Page 15: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo gra�cado: a = 0, b = 2, h = 0.2, n = 1, n = 2, n = 4

Page 16: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo gra�cado: a = 0, b = 4, n = 1, n = 2, n = 4

Page 17: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Metodología

Motivación

Sustituir en los métodos de Taylor de orden superior las derivadas de f enT (n)por expresiones de igual error local que solo requieran evaluar f .Por ejemplo: Encontrar coe�cientes a1, α1 y β1 tales que:

T (2)(t, y) = f (t, y) + h2f ′(t, y)=a1f (t + α1, y + β1) + O(h2)

En este caso se obtiene derivando y sustituyendo:

a1 = 1, α1 = h2, β1 = h

2f (t, y)

Page 18: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Runge-Kutta de orden superior

Método del punto medio (Runge Kutta de orden 2)

Ecuaciones en diferencias:

w0 = α

wi+1 = wi + hf (ti +h2,wi +

h2f (ti ,wi ))

Esquema de Runge Kutta de orden 4

Ecuaciones en diferencias:

w0 = αk1 = hf (ti ,wi )k2 = hf (ti +

h2,wi +

1

2k1)

k3 = hf (ti +h2,wi +

1

2k2)

k4 = hf (ti+1,wi + k3)wi+1 = wi +

1

6(k1 + 2k2 + 2k3 + k4)

Page 19: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo con Métodos de Runge Kutta

Resultados numéricos (para Euler y Runge-Kutta n = 2 y n = 4)

ti y(ti ) Euler (n = 2) (n = 4)0.0 0.5000000 0.5000000 0.5000000 0.5000000

0.2 0.8292986 0.8000000 0.8280000 0.8292933

0.6 1.6489406 1.5504000 1.6446592 1.6489220

1.0 2.6408591 2.4581760 2.6331668 2.6408227

1.2 3.1799415 2.9498112 3.1704634 3.1798942

1.6 4.2834838 3.9501281 4.2706218 4.2834095

1.8 4.8151763 4.4281538 4.8009586 4.8150857

2.0 5.3054720 4.8657845 5.2903695 5.3053630

Errores: |wi − y(ti )| (para Euler y Runge-Kutta n = 2 y n = 4)

ti Euler (n = 2) (n = 4)0.2 0.0292986 0.0012986 0.0000053

0.6 0.0985406 0.0042814 0.0000186

1.0 0.1826831 0.0076923 0.0000364

1.2 0.2301303 0.0094781 0.0000474

1.6 0.3333557 0.0128620 0.0000743

1.8 0.3870225 0.0142177 0.0000906

2.0 0.4396874 0.0151025 0.0001089

Page 20: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Grá�cos: Euler y Runge-Kutta de orden 2 y 4

Page 21: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Grá�cos: Euler y Runge-Kutta de orden 2 y 4

Page 22: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Motivación

Podemos encontrar una solución numérica del sistema:{x ′(t) = f (t, x , y)y ′(t) = g(t, x , y)

x(t0) = x0y(t0) = y0

Reescribiendo el sistema de la forma:[x ′(t)y ′(t)

]=

[f (t, x , y)g(t, x , y)

]obteniendo la ecuación Y ′ = F (t,Y ) donde Y : R → R2 y F : R3 → R2

y aplicamos las mismas técnicas ya explicadas anteriormente.

Page 23: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Método de Runge-Kutta de orden 4 xk+1 = xk +h6(f1 + 2f2 + 2f3 + f4)

yk+1 = yk +h6(g1 + 2g2 + 2g3 + g4)

Dondef1 = f (tk , xk , yk) g1 = g(tk , xk , yk),f2 = f (tk + h

2, xk + h

2f1, yk + h

2g1) g2 = g(tk + h

2, xk + h

2f1, yk + h

2g1),

f3 = f (tk + h2, xk + h

2f2, yk + h

2g2) g3 = g(tk + h

2, xk + h

2f2, yk + h

2g2),

f4 = f (tk + h, xk + hf3, yk + hg3) g4 = g(tk + h, xk + hf3, yk + hg3)

Ejemplo

Consideremos el siguiente sistema de ecuaciones{x ′(t) = x + 2yy ′(t) = 3x(t) + 2y(t)

con

{x(0) = 6y(0) = 4

cuya solución exacta es: x(t) = 2e−t + 4e4t e y(t) = 6e4t − 2e−t

Page 24: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Continuación...

La tabla siguiente muestra el método de Runge-Kutta de orden 4 en elintervalo [0, 0.2] tomando 10 subintervalo de paso h = 0.02

k tk xk yk0 0.00 6.00000000 4.000000001 0.02 6.29654551 4.539324902 0.04 6.61562213 5.119485993 0.06 6.96852528 5.743965254 0.08 7.35474319 6.416533055 0.10 7.77697287 7.141272216 0.12 8.23813750 7.922604067 0.14 8.74140523 8.765316678 0.16 9.29020955 9.674595389 0.18 9.88827138 10.656056010 0.20 10.5396230 11.7157807

Las soluciones así calculadas presentan errores que se acumulan en cadapaso. En el extremo derecho del intervalo:

x(0.2)− x10 = 0.0000022y(0.2)− y10 = 0.0000034

Page 25: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Ejemplo

Consideremos la siguiente ecuación de movimiento armónico amortiguado:

x ′′(t) + 4x ′(t) + 5x(t) = 0, x(0) = 3, x ′(0) = −5

La solución exacta es:

x(t) = 3e−2t cos(t) + e−2t sin(t)

Y su sistema equivalente:

{x ′(t) = y(t)y ′(t) = −5x(t)− 4y(t)

con

{x(0) = 3y(0) = −5

Page 26: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Continuación...

En la tabla siguiente se muestra los resultados de Runge-Kutta orden 4 enel intervalo [0, 5], con N = 50 y h = 1 y la comparación con la soluciónexacta:

k tk xk x(tk)

0 0.0 3 31 0.1 2.52564583 2.525658222 0.2 2.10402783 2.104046863 0.3 1.73506269 1.735084274 0.4 1.41653369 1.416555095 0.5 1.14488509 1.1449045510 1.0 0.33324302 0.3332466120 2.0 −0.00620684 −0.0062116230 3.0 −0.00701079 −0.0070120440 4.0 −0.00091163 −0.0009117048 4.8 −0.00004972 −0.0000496949 4.9 −0.00002348 −0.0000234550 5.0 −0.00000493 −0.00000490

Page 27: Conf 22 Ecuaciones Diferenciales

Teoría básica Método de Euler Métodos de Taylor Esquemas de Runge-Kutta Sistemas de Ecuaciones Métodos multipaso

Dos ejemplos

Técnica multipaso de Adams-Bashforth de orden 4 (explícito)w0 = α, w1 = α1, w2 = α2, w3 = α3

wi+1 = wi +h24 [55f (ti ,wi )− 59f (ti−1,wi−1) + 37f (ti−2,wi−2)− 9f (ti−3,wi−3)]

Técnica multipaso de Adams-Moulton de orden 4 (implícito)w0 = α, w1 = α1, w2 = α2

wi+1 = wi +h24 [9f (ti+1,wi+1) + 19f (ti ,wi )− 5f (ti−1,wi−1) + f (ti−2,wi−2)]

Metodología de Predictor-Corrector

w0i+1 = wi +

h24 [55f (ti ,wi )− 59f (ti−1,wi−1) + 37f (ti−2,wi−2)− 9f (ti−3,wi−3)]

w(k+1)i+1 = wi +

h24 [9f (ti+1,w

(k)i+1) + 19f (ti ,wi )− 5f (ti−1,wi−1) + f (ti−2,wi−2)]