Conf 22 Ecuaciones Diferenciales
-
Upload
sebastian-orostegui-fernandez -
Category
Documents
-
view
214 -
download
0
description
Transcript of 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
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
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].
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.
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
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)
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
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
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
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
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 ))
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
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
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
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
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
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)
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)
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
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
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
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.
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
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
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
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
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)]