Parte 8. Ecuaciones diferenciales ordinarias Gustavo Montero Escuela Técnica Superior de Ingenieros Industriales Universidad de Las Palmas de Gran Canaria Curso 2006-2007 El problema del valor inicial Planteamiento del problema Sea la ecuación diferencial 0 y = f (x, y ), x ∈ [x0 , x0 + a] con la condición inicial y (x0 ) = η. Supondremos que se cumple la condición de existencia y unicidad de la solución: I I f es continua en [x0 , x0 + a] × R Condición de Lipschitz en y ˛ ˛ ˛ ˛ ˛f (x, y ) − f (x, y ∗ )˛ ≤ L ˛y − y ∗ ˛ ∀x ∈ [x0 , x0 + a] , ∀y , y ∗ ∈ R, con L ≥ 0 Los métodos más utilizados son los de discretización, en los que se obtiene el valor de la solución en unos puntos determinados, generalmente equidistantes, a xi = x0 + i h, con h = , i = 0, 1, . . . , n n Clasificación de los métodos Si yi+k se obtiene en función de las k soluciones anteriores (yi , . . . , yi+k−1 ), el método se denomina de k pasos. Dentro de los métodos de 1 paso, I I Si yi+1 = Ωi (yi ), i = 0, 1, . . . , n − 1, el método es explı́cito Si Ωi (yi+1 , yi ) = 0, hay que resolver una ecuación para cada i = 0, 1, . . . , n − 1 (método implı́cito) Método de Euler Conceptos preliminares I Si g es una función continua en el intervalo cerrado y acotado [x0 , x0 + a], dado δ > 0 cualquiera, se conoce como módulo de continuidad de la función g para δ a la cantidad, ˛ ˛ ∗ ˛ ∗ ∗˛ ω(δ, g ) = max ˛g (x) − g (x )˛ , x, x ∈ [x0 , x0 + a] , ˛x − x ˛ ≤ δ I Para toda función g continua en [x0 , x0 + a] se verifica, lim ω(δ, g ) = 0 δ→0 I Si una sucesión {an } de números reales no negativos verifica ∀n ≥ 0, an+1 ≤ (1 + A)an + B, con A ≥ 0, B ≥ 0 constantes independientes de n, se tiene Si A > 0 ⇒ an ≤ a0 e Si A = 0 ⇒ I nA + en A − 1 A an ≤ a0 + n B, B, ∀n ≥ 0 ∀n ≥ 0 Se define error de truncatura o de discretización acumulado del método a la diferencia entre la solución exacta y la aproximada ei = y (xi ) − yi Método de Euler Estudio del error Si f es continua en [x0 , x0 + a] × R y verifica la condición de Lipschitz, el error de discretización ei del método de Euler es tal que eL i h − 1 I si L > 0 |ei | ≤ I si L = 0 |ei | ≤ i h ω(h, y 0 ) L ω(h, y 0 ) i = 0, 1, . . . , n i = 0, 1, . . . , n La demostración se basa en los lemas anteriores. Estudio de la convergencia I Un método se dice que es convergente si se verifica, „ lim h→0 I max i=0,1,...,n « |yi − y (xi )| = 0 El método de Euler tal y como se ha definido en convergente Método de Taylor de orden k Método de Taylor de orden 2 El método de Euler coincide con el caso particular más sencillo del método de Taylor (hasta la derivada primera). Si se desarrolla hasta el término de la segunda derivada, resulta el método de Taylor de segundo orden yi+1 = yi + hf y0 = η (0) (xi , yi ) + Error local de orden O(h3 ) y global de O(h2 ). h2 (1) f (xi , yi ), 2! i = 0, 1, . . . , n − 1 Formulación general de los métodos de Runge-Kutta Fórmulas generales La formulación de los métodos de Runge-Kutta para k evaluaciones es, yi+1 = yi + h Φ(xi , yi , h), siendo Φ(x, y , h) = k X i = 0, 1, . . . , n − 1 cj Kj j=1 K1 = f (x, y ) Kj = f (x + h aj , y + h j−1 X bjl Kl ), j = 2, 3, . . . , k l=1 con cj , aj y bjl elegidos adecuadamente. El método es consistente, es decir Φ(x, y , 0) = f (x, y ), si Kj = f (x, y ), Casos particulares k X cj = 1 j=1 Se estudian en general los métodos que surgen de considerar 1, 2 y 4 evaluaciones I I I Si k = 1 obtenemos el método de Euler. Si k = 2 podemos obtener varios métodos: método de Euler Mejorado, de Euler Modificado y de Heun. Si k = 4 obtenemos el método de Runge-Kutta de cuarto orden. Métodos de Runge-Kutta de orden 2 Método de Euler Mejorado del Punto Medio yi+1 = yi + hf y0 = η « „ h h xi + , yi + f (xi , yi ) , 2 2 i = 0, 1, . . . , n − 1 Error local de orden O(h3 ) y global de O(h2 ). Método de Euler Modificado yi+1 = yi + y0 = η h 2 [f (xi , yi ) + f (xi , yi + hf (xi , yi ))] , i = 0, 1, . . . , n − 1 Error local de orden O(h3 ) y global de O(h2 ). Método de Heun» yi+1 = yi + y0 = η h 4 f (xi , yi ) + 3f Error local de orden O(h3 ) y global de O(h2 ). „ «– 2 2 , xi + h, yi + hf (xi , yi ) 3 3 i = 0, 1, . . . , n − 1 Método de Runge-Kutta de orden 4 Algoritmo de Runge-Kutta de cuarto onden yi + h yi+1 = K1 = (K1 + 2K2 + 2K3 + K4 ) , 6 f (xi , yi ) K2 = f (xi + K3 = f (xi + K4 = f (xi + y0 = η h 2 h 2 h 2 , yi + , yi + , yi + Cumple la condición de Lipschitz con M = L + h 2 h 2 h L2 2 2 i = 0, 1, . . . , n − 1 K1 ) K2 ) K3 ) h0 . Error local de orden O(h5 ) y global de O(h4 ). Introducción Definición Un método adaptativo es aquel que adapta el número y posición de los nodos que utilizan en la aproximación para mantener el error local dentro de unos lı́mites definidos a priori. Control del error mediante el tamaño del paso Supongamos que aplicamos dos métodos de órdenes n y n + 1 para resolver el problema de valor inicial, yi+1 e yi+1 n = yi + hΦ(xi , yi , h) con un error local |y (xi ) − yi | < Kh = e i,e e hn+1 e yi + hΦ(x yi , h) con un error local |y (xi ) − e yi | < K Entonces si ei representa el error local de un método, se tiene ei+1 = (e yi+1 − yi+1 ) + e ei+1 Como ei+1 es de orden O(hn+1 ) y e ei+1 es de orden O(hn+2 ), es evidente que |e yi+1 − yi+1 | = Mhn+1 , |e yi+1 − yi+1 | de donde M = hn+1 q n |e yi+1 − yi+1 | Si ahora usamos un tamaño de paso qh se debe satisfacer |y (xi + qh) − yi+1 | < M(qh)n = < h Luego " #1/n h q< |e yi+1 − yi+1 | Método de Runge-Kutta-Fehlberg Algoritmo de Runge-Kutta-Fehlberg Utiliza un método de Runge-Kutta de onden 5, 16 6656 28561 9 2 e yi+1 = yi + K1 + K3 + K4 + K5 + K6 135 12825 56430 50 55 para estimar, utilizando la cota anterior, el error local de un método de Runge-Kutta de orden 4, 25 1408 2197 1 yi+1 = yi + K1 + K3 + K4 − K5 216 2565 4104 5 siendo „ « h 1 xi + , yi + K1 , 4 4 « 3h 3 9 + , yi + K1 + K2 , 8 32 32 « 12h 1932 7200 7296 + , yi + K1 + K2 + K3 , 13 2197 2197 2197 « 3680 845 439 K1 − 8K2 + K3 + K4 , + h, yi + 216 513 4104 « h 8 3544 1859 11 + , yi − K1 + 2K2 + K3 + K4 − K5 2 27 2565 4104 40 K1 = hf (xi , yi ), K3 = hf „ xi K4 = hf „ xi K5 = hf „ xi K6 = hf „ xi K2 = hf Método de Runge-Kutta-Fehlberg Tamaño de paso El tamaño de paso teórico tiende a ser muy conservador. El más utilizado es " q= I I h #1/4 2|e yi+1 − yi+1 | Si q < 1, se rechaza la elección inicial para el paso i-ésimo y se repiten los cálculos usando qh. Si q ≥ 1, se acepta el valor calculado en el paso i-ésimo con paso h y se cambia el tamaño de paso a qh para el paso (i + 1)-ésimo. Método Pblackictor-Corrector de Adams con paso variable Algoritmo Consiste en utilizar el método explı́cito de Adams-Bahforth de Cuatro Pasos como pblackictor y el implı́cito de Adams-Moulton de Tres Pasos como corrector Control del error mediante el tamaño de paso El resultado teórico resulta 2 q<4 270 31/4 h 19 |yi+1 − y (0) | i+1 5 , aunque en la práctica se suele utilizar un valor más conservador debidos a las aproximaciones realizadas en el proceso de obtención de la cota de q, 2 q = 1.5 4 31/4 h |yi+1 − (0) yi+1 | 5 Generalidades Planteamiento del problema Consideremos el siguiente problema lineal, 00 0 x ∈ [a, b] y (x) = p(x) y (x) + q(x) y (x) + r (x) con las condiciones de contorno o bien y (a) = α, y (a) = α, y (b) = β y 0 (b) = β (condiciones tipo Dirichlet) (condiciones tipo mixtas) Resolución por diferencias finitas Se trata de sustituir y 00 , y 0 por valores aproximados utilizando los esquemas estudiados para derivación numérica, conduciendo finalmente a un sistema de ecuaciones donde las incógnitas son los valores de y en los puntos del intervalo [a, b] donde se ha planteado los esquemas de derivación. Existencia y unicidad de solución Supongamos que en el problema de contorno anterior con condiciones Dirichlet se verifica, I I I p(x) y 0 (x) + q(x) y (x) + r (x), p(x) y q(x) son continuas en R. p(x) está acotada. q(x) es positiva ∀x ∈ [a, b]. entonces la solución existe y es única. Método de diferencias finitas Problema general Consideremos el problema general, 00 0 x ∈ [a, b] A(x) y (x) + B(x) y (x) + C (x) y (x) = D(x) con condiciones de contorno de expresadas de forma general, 0 a1 y (a) + a2 y (a) 0 b1 y (b) + b2 y (b) = r = s siendo A(x), B(x), C (x) y D(x), funciones continuas en [a, b], A(x) 6= 0 en [a, b] y a1 , a2 , b1 , b2 ∈ R, donde a1 y b1 no se anulan simultáneamente. Discretización de la ecuación de segundo orden Utilizaremos esquemas de orden 2 para aproximar la primera y segunda derivada en puntos xi del interior de [a, b], yi+1 − yi−1 2 0 + O(h ) y (xi ) = 2h 00 y (xi ) = yi+1 − 2yi + yi−1 h2 2 + O(h ) Luego, denotando Ai = A(xi ), Bi = B(xi ), Ci = C (xi ) y Di = D(xi ), la ecuación diferencial en xi resulta, yi+1 − 2yi + yi−1 yi+1 − yi−1 Ai + Bi + Ci yi = Di i = 1, 2, . . . , n − 1 h2 2h Método de diferencias finitas Construcción del sistema de ecuaciones Los esquemas anteriores aplicados a todos los puntos del soporte producen un sistema de n + 1 ecuaciones lineales con matriz de la forma, 0 B B B B B B B B B B B B B B B @ a1 − A1 h2 3a2 4a2 2h B1 2h 2A1 − a2 ··· h2 A2 B2 − 2 h 2h ··· 2h A1 B1 + h2 2h 2A2 − + C2 2 h ··· 0 ··· 0 − 0 0 2h − + C1 ··· A2 h2 An−1 h2 0 ` 0 ··· 0 0 ··· 0 + ··· − b2 2h ´ B2 2h Bn−1 2h − ··· 0 ··· ··· 2An−1 h2 − ` 1 + Cn−1 4b2 2h An−1 + h2 b1 + y vector segundo miembro r , D1 , . . . , Dn−1 , s , para obtener las incógnitas y0 , y1 , . . . , yn−1 , yn ´ Bn−1 2h 3b2 2h C C C C C C C C C C C C C C C A Resumen I Entre los métodos de un paso para la resolución de ecuaciones diferenciales ordinarias, los de Taylor y los de Runge-Kutta son los más utilizados. El método más sencillo es el de Euler, aunque también es el que mayores errores produce. En cambio, el método de Runge-Kutta de cuarto orden proporciona soluciones con una precisión más aceptable y ha sido y es ampliamente utilizado en diferentes campos cientı́ficos. I Los métodos multipasos implı́citos tienen en general mayor precisión que los explı́citos, aunque su aplicación tiene mayor complicación ya que en cada paso se tiene que resolver una ecuación generalmente no lineal. Más eficiente es utilizar un método implı́cito para corregir la solución obtenida previamente por uno explı́cito (método pblackictor-corrector). Los más utilizados son los métodos de Adams-Bashforth-Moulton y el de Milne-Simpson I Si se utiliza un tamaño de paso variable, se puede mejorar la eficiencia de los métodos. En este sentido, los métodos adaptativos de paso variable ajustan el tamaño de paso para que el error cometido se mantenga siempre por debajo de una cierta tolerancia fijada a priori. Los más populares son el de Runge-Kutta-Fehlberg y el Pblackictor-Corrector de Adams con paso variable. I Uno de los métodos más utilizados para resolver problemas de contorno es el de diferencias finitas. Dicha discretización conduce a un sistema de ecuaciones lineales, que, una vez resuelto, nos proporciona de forma discreta la función que es la solución del problema de contorno de segundo orden.