Clase No. 23: Diferenciación numérica: Método de Euler explícito Métodos basados en la serie de Taylor MAT–251 Dr. Alonso Ramírez Manzanares CIMAT A.C. e-mail: alram@ cimat.mx web: http://www.cimat.mx/salram/met_num/ Dr. Joaquín Peña Acevedo CIMAT A.C. e-mail: joaquin@ cimat.mx Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 1 / 27 Introducción (I) • Una ecuación diferencial es una ecuación que relaciona a una función de una o varias variables con sus derivadas. • Si la solución es una función de una sola variable, entonces decimos que la ecuación es ordinaria. • De manera general, una ecuación ordinaria es de la forma dn y dxn = f (x, y(x), y0 (x), ..., y(n−1) (x) ). • La derivada de mayor orden determina el orden de la ecuación diferencial. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 2 / 27 Introducción (II) • También podemos tener un sistema de ecuaciones diferenciales ordinarias. En este caso tenemos n funciones y1 (x), y2 (x), ..., yn (x) tales que dy1 dx dy2 dx .. . = f1 (x, y1 (x), y2 (x), ... , yn (x) ) = f2 (x, y1 (x), y2 (x), ... , yn (x) ) .. . .. . = fn (x, y1 (x), y2 (x), ... , yn (x) ) dyn dx Escrito de manera más compacta, dy dx = f (x, y(x)), con y(x) = (y1 (x), y2 (x), ... , yn (x)), Así, y : R → Rn , y f : Rn+1 → Rn . Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 3 / 27 Introducción (III) • Hay que especificar el intervalo en que queremos encontrar la solución. • También necesitamos una condición auxiliar para encontrar la solución del problema. • Un problema de valor inicial (PVI) para una ecuación diferencial de primer orden: dy dx y(x0 ) = f (x, y(x)), = y0 . x ∈ [x0 , x1 ] (1) • Una ecuación de orden n la podemos transformar en un sistema de ecuaciones de primer orden mediante y1 (x) = y(x), yi+1 (x) = y(i) (x), y1 (a) = y(a), Joaquín Peña (CIMAT) ··· i = 1, ..., n − 1. , yn−1 (a) = y(n−1) (a) Métodos Numéricos (MAT–251) 09.11.2015 4 / 27 Existencia y unicidad • Tenemos el teorema de Peano, que nos dice que si f (x, y) es continua en un dominio Ω, que contiene al punto inicial (x0 , y 0 ), entonces la solución existe en un intervalo alrededor de x0 . • La unicidad puede estar garantizada si la función f es Lipschitz continua en Ω respecto a y. Esto es, existe L tal que kf (x, y 1 ) − f (x, y 2 )k < Lky 1 − y 2 k para todo (x, y 1 ), (x, y 2 ) ∈ Ω. • El cálculo de la solución del problema de valor inicial puede requerir el uso de algún método numérico. Teorema de existencia y unicidad Si existe un dominio Ω que contiene a la condición inicial (x0 , y 0 ) en el que la función f (x, y) es continua y es Lipschitz en y, entonces existe una única solución al PVI (1) en el intervalo [x0 − δ, x0 + δ] con δ > 0. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 5 / 27 Métodos numéricos de solución • En general, se define el intervalo [a, b] en el que se quiere calcular la solución. • Se discretiza el intervalo a = x0 < x1 < x2 < · · · < xn = b para tratar de calcular el valor de la solución en puntos xi , yi ≈ y(xi ). • Frecuentemente la distribución de los nodos es uniforme, por lo que el valor h = xi+1 − xi es constante. • Hay métodos los que se trata de calcular todos los valores de las variables yi al mismo tiempo, lo cual conduce a resolver sistemas de ecuaciones. • Otros métodos se basan en estimar el valor yi a partir de valores previos yi−1 , yi−2 , ..., ya determinados. Como esto permite calcular el valor en xi = xi−1 + h, a h se le llama el tamaño de paso. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 6 / 27 Relación con integración Resolver una ecuación diferencial y el cálculo de integrales están relacionados. Consideremos el problema de valor inicial: dy dx y(a) = f (x, y) = y0 x ∈ [a, b] Integrando de t a t + h ambos miembros obtenemos Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 7 / 27 Relación con integración Resolver una ecuación diferencial y el cálculo de integrales están relacionados. Consideremos el problema de valor inicial: dy dx y(a) = f (x, y) = y0 x ∈ [a, b] Integrando de t a t + h ambos miembros obtenemos Z t+h dy t dx Z t+h dx = Z t+h f (x, y) dx =⇒ y(t + h) = y(t) + t f (x, y(x)) dx t Si reemplazamos la integral por alguna de las reglas de cuadratura vistas anteriormente podemos obtener una fórmula para resolver la ecuación diferencial. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 7 / 27 Relación con series de Taylor Suponemos que y tiene una expansión en series de Taylor: y(x + h) = y(x) + hy0 (x) + h2 2 y00 (x) + ... + hm m! y(m) (x) + ... • Lo usual es truncar la serie después de cierta cantidad de términos. • Si truncamos después de m + 1 términos, decimos que obtenemos un método basado en series de Taylor de orden m. • Lo que resta es aproximar las derivadas que permanecen en la expresión o calcularla una a partir de la anterior. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 8 / 27 Método de Euler (I) Queremos resolver el problema de valor inicial dy dx y(a) = f (x, y) = y0 x ∈ [a, b] Al usar un método basado en series de Taylor de orden 1, obtenemos el método de Euler: y(x + h) ≈ y(x) + hy0 (x) = y(x) + hf (x, y(x)) Dividimos el intervalo en n partes iguales: a = x0 < x1 < · · · < xn = b, b−a . n Si denotamos por yi al valor que se obtiene por el el método de Euler en xi , entonces xi = xi−1 + h, yi = yi−1 + hf (xi−1 , yi−1 ), Joaquín Peña (CIMAT) h= i = 1, 2, ..., n. Métodos Numéricos (MAT–251) 09.11.2015 9 / 27 Método de Euler (II) Otra forma de obtener el método de Euler es mediante integración, aproximando la integral por un rectángulo cuya altura es igual al integrando evaluado en el límite inferior de la integral: Z x+h f (t, y(t)) dt ≈ y(x) + hf (x, y(x)) y(x + h) = y(x) + x Ejemplo 1. Considere el problema de valor inicial dy dx y(0) Joaquín Peña (CIMAT) = y = 1 x ∈ [0, 5] Métodos Numéricos (MAT–251) 09.11.2015 10 / 27 150 150 Método de Euler (III) ● ● 50 ● ● ● 0 ●● 1 ●●● ●● ●● 2 ●● ●● ● ● ● ● ● ● 0 ●●●●●●●●●●●● ●●● ●●●●● ● 100 c(0, max(vs)) ● ● 50 100 ● ● ● 0 c(0, max(vs)) ● 3 4 5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ●● ●● ●● ●● ●● ●● ●● ● ● ●● ●●● ●●● ●●● ●●● ●●●● ●●●● ●●●●● ● ● ● ● ● ●●●●● ●●●●●●●● ●●●●●●●●●● ●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 0 n =c(0, 505) 1 2 3 4 5 n = c(0, 150 5) Comparación entre la solución analítica y la que se obtiene con el método de Euler. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 11 / 27 Método de Euler (IV) Ejemplo 2. Considere el problema de valor inicial dy dx y(0) = p = 0 x ∈ [0, 2] y Tenemos dos soluciones: x2 y(x) = , 4 y y(x) = 0. Si aplicamos el método de Euler con n = 20, se tiene el siguiente resultado Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 12 / 27 0.6 0.4 0.0 0.2 c(0, max(vs)) 0.8 1.0 Método de Euler (V) ● 0.0 ● ● ● ● ● 0.5 ● ● ● ● ● ● 1.0 ● ● ● ● 1.5 ● ● ● ● ● 2.0 c(0, b) Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 13 / 27 Método de Euler (VI) Ejemplo 3. Considere el problema de valor inicial dy = y cos x = 1 x ∈ [0, 8π] Y 0.0 0.5 1.0 1.5 2.0 2.5 3.0 dx y(0) 0 5 10 15 20 25 X h = 0.09856 Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 14 / 27 1.5 1.0 0.5 0.0 Y 2.0 2.5 3.0 Método de Euler (VII) 0 5 10 15 20 25 h = 0.00614 X Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 15 / 27 Interpretación geométrica (I) En el método de Euler explícito se da un paso de tamaño h en dirección de la tangente: 1.0 y0 = − sin x, ● y(0) = 1 ● ● ● ● ● ● ● 0.0 Y 0.5 ● −0.5 ● ● ● ● −1.0 ● ● 0 2 4 6 8 X Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 16 / 27 Estabilidad de la solución (I) De esta forma, la solución numérica del PVI requiere una discretización del intervalo [a, b]: a = x0 < x1 < · · · < xn = b Tenemos que h(i) = xi+1 − xi , para i = 0, ..., n − 1. • Si h(i) es constante, h(i) = (b − a)/ n. • Si h(i) es variable, decimos que el método de solución es adaptativo. Vamos a denotar por yi a la aproximación numérica de la solución del PVI en xi , mientras que y(xi ) denota a la solución exacta. La solución numérica está formada por el conjunto de aproximaciones {yi }ni=1 . Estabilidad Decimos que la solución numérica {yi }ni=1 para el PVI con condición inicial y(a) = y0 es estable si para cualquier ε > 0 existe δ > 0 tal que {ŷi }ni=1 es la solución numérica con condición inicial y(a) = ŷ0 y ky0 − ŷ0 k < δ, se debe tener que kyi − ŷi k < ε para todo i = 1, ..., n. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 17 / 27 Estabilidad de la solución (II) Se dice que la solución numérica es asintóticamente estable cuando ky0 − ŷ0 k < δ Joaquín Peña (CIMAT) =⇒ lim kyi − ŷi k = 0. i→∞ Métodos Numéricos (MAT–251) 09.11.2015 18 / 27 Estabilidad del método de Euler Consideremos el PVI: dy dx y(0) = λy = 0 Entonces Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 19 / 27 Estabilidad del método de Euler Consideremos el PVI: dy dx y(0) = λy = 0 Entonces yk+1 = yk + hλyk De aquí que yk+1 = (1 + hλ)k+1 y0 De la definición de estabilidad, para que el método de Euler sea estable se debe cumplir |1 + hλ| ≤ 1. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 19 / 27 Error del método de Euler También se puede definir el error local de truncamiento como L(x, y; h) = y(x + h) − [y + hf (x, y)]. Puesto que y(x + h) = y(x) + hy0 (h) + h2 00 y (ξ), 2 entonces h2 y00 (ξ) = O(h2 ) 2 Este error determina como afecta la aproximación a los pasos subsecuentes, es decir, la propagación del error. L(x, y; h) = Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 20 / 27 Fuentes de error Las más importantes son • el error de redondeo, rn = |fl(yi ) − yi |. • el error de truncamiento, ei = |yi − y(xi )| El error total está dado por |fl(yi ) − y(xi )| = |fl(yi ) − yi + yi − y(xi )| ≤ |fl(yi ) − yi | + |yi − y(xi )| = ri + ei . Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 21 / 27 Métodos basados en series de Taylor (I) Para obtener un método basado en series de Taylor de orden superior podemos simplemente derivar la función f . Ejemplo. x dy = dx y(0) Puesto que y0 = x , y+1 y00 y000 = y+1 0 x ∈ [0, 4] entonces = xy0 1 y+1 − (y + 1)2 y0 = − (y + 1)2 − (y + 1)(y0 + xy00 ) − 2x(y0 )2 (y + 1)4 Así, podemos obtener un método de tercer orden: Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 22 / 27 Métodos basados en series de Taylor (II) 1 2 3 Tenemos el valor yi en xi . xi Calculamos yi0 = . yi + 1 Calculamos yi00 = 1 yi + 1 − xi yi0 (yi + 1)2 yi0 4 Calculamos yi000 = − 5 Calculamos yi+1 = yi + hyi0 + (yi + 1)2 − (yi + 1)(yi0 + xi yi00 ) − 2xi (yi0 )2 h2 2 (yi + 1)3 yi00 + h3 6 yi000 . Comparamos este método con Euler y la solución analítica, la cual es p y = x2 + 1 − 1. Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 23 / 27 Métodos basados en series de Taylor (III) Taylor de orden 3 ● 3.0 3.0 Euler 2.5 2.0 1.5 ● ● 1.0 c(0, max(vs)) 2.0 1.5 ● 0.5 1.0 0.5 ● ● ● ● 0 ● ● ● ● 1 ● 2 ● ● ● 3 ● ● 4 0.0 ● 0.0 c(0, max(vs)) 2.5 ● ● 0 n =c(0, 10b) Joaquín Peña (CIMAT) ● 1 2 3 4 n =c(0, 10b) Métodos Numéricos (MAT–251) 09.11.2015 24 / 27 Método trapezoidal (I) Regresando a la relación entre resolver EDOs e integrales: Z t+h y(t + h) = y(t) + f (x, y(x)) dx t Si aproximamos la integral por la regla del trapecio, obtenemos un método implícito: yi+1 = yi + 1 2 h[f (xi , yi ) + f (xi+1 , yi+1 )] En este caso es un método implícito de un paso. En general, esto nos conduce a un sistema de ecuaciones. Ejemplo. Para el problema de valor inicial planteado anteriormente dy dx y(0) Joaquín Peña (CIMAT) = y cos x = 1 x ∈ [0, 8π] Métodos Numéricos (MAT–251) 09.11.2015 25 / 27 Método trapezoidal (II) Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 26 / 27 Método trapezoidal (III) Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 09.11.2015 27 / 27