Análisis Numérico para Ingeniería Clase Nro. 4 Ecuaciones Diferenciales Ordinarias Sistemas de EDOs de 1er. Orden. (Ejemplo) Transformación de EDOs de orden n. Resolución de Sistemas de 1er. Orden. Estabilidad del método de Runge-Kutta (4to.) Estrategias de ajuste del paso h. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 2 Ejemplo de Sistemas de EDOs El modelo SIR, desarrollado por el químico escocés William Ogilvy Kernack y el matemático A.G. McKendrick , modela la evolución de una enfermedad infecto-contagiosa. El modelo divide a la población en individuos suceptibles de ser infectados, individuos infectados e individuos recuperados de la enfermedad. Ing. Francisco A. Lizarralde SUCEPTIBLE INFECTADO RECUPERADO MODELO SIR dS =−⋅I⋅S dt dI =⋅I⋅S−v⋅I dt dR =v⋅I dt Facultad de Ingeniería - UNMDP - 2015 3 Sistemas de EDOs de 1er. orden Infinidad de problemas de diversas áreas del conocimiento como la física, la química, la biología, la economía, la ingeniería, etc. se expresan a menudo en términos de ecuaciones diferenciales ordinarias. Estas ecuaciones pueden estar relacionadas entre sí, por lo que conforman sistemas de ecuaciones diferenciales. Las ecuaciones diferenciales de orden n, pueden transformarse en sistemas de ecuaciones de primer orden, para su resolución. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 4 EDOs de orden n Una EDO de orden n puede transformarse en un sistema de n ecuaciones de primer orden. n 2 n−1 d y dy d y d y =f x , y , , 2, , n−1 n dx dx dx dx y∣x=x = y 0 dy = y '0 dx x= x 0 ∣ 0 ∣ d 2 y = y ' '0 2 dx x= x d n−1 y n−1 = y n−1 dx n−1 x=x 0 ∣ Ing. Francisco A. Lizarralde CONDICIONES INICIALES 0 Facultad de Ingeniería - UNMDP - 2015 5 Algoritmo de transformación Las EDOs de orden n se transforman en sistemas de n ecuaciones de primer orden para poder resolverlas con los métodos ya vistos. dn y dy d 2 y d n−1 y =f x , y , , 2, , n−1 =f x , y , p , q , , w n dx dx dx dx dy = y '= p dx 2 d y = y ' '= p '= q 2 dx d n−1 y =z '= w n−1 dx Ing. Francisco A. Lizarralde Sustituimos cada derivada por una nueva variable. Facultad de Ingeniería - UNMDP - 2015 6 Ejemplo (I) Ecuación diferencial de orden 3 y ' ' 'x⋅y ' '−x⋅y '−2⋅y=x x 0=0 ; y x = y ' ' x =0 ; y ' x =1 0 0 0 Sistema de 3 ecuaciones diferenciales de 1er. orden y '= p p '= q q '= x− x⋅q x⋅p2⋅y Ing. Francisco A. Lizarralde Sustituimos cada derivada por una nueva variable. Facultad de Ingeniería - UNMDP - 2015 7 Ejemplo (II) La fuerza de atracción gravitatoria que experimenta un cuerpo que se mueve en el espacio rodeado por otros cuerpos, puede describirse por medio de la siguiente ecuación diferencial de segundo orden. 2 n ∂ qi −G⋅mi⋅m j⋅(q i−q j ) m i⋅ 2 =∑ 3 ∂t ri, j i=1 i≠ j Siendo : r i , j=∥q i −q j∥ Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 8 Ejemplo de aplicación Por lo tanto, para calcular la trayectoria de un meteorito que se desplaza en la proximidad de un planeta, podemos utilizar la siguiente expresión, que considera despreciables a las fuerzas inducidas por otros cuerpos más lejanos ó con masas mucho más pequeñas. 2 ∂ q i −G⋅m1⋅m2⋅(q 1−q 2 ) m2⋅ 2 = 3 ∂t r 1,2 Este modelo es particularmente interesante, ya que en el caso de 3 ó más cuerpos, interactuando gravitatoriamente entre sí, no es posible calcular, en forma analítica, la solución a este problema. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 9 Trayectoria del Meteorito Para complicar un poco más el problema, la posición del planeta no permanece fija, sino que tiene un leve desplazamiento circular. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 10 Ejemplo (III) Sistema Masa – Resorte - Amortiguador Sistema de 2 ecuaciones diferenciales de orden 2 M 1⋅y ' ' 1 +B 1⋅y ' 1 +k 1⋅y 1−B 1⋅y ' 2−k 2⋅y 2=F 1 (t ) −B 1⋅y ' 1−k 1⋅y 1 + M 2⋅y ' ' 2 +B 1⋅y ' 2 +(k 1 +k 2 )⋅y 2=0 Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 11 Transformación del Ejemplo (II) Sistema de 2 ecuaciones diferenciales de orden 2 M 1⋅y ' ' 1B 1⋅y ' 1k 1⋅y 1−B1⋅y ' 2−k 2⋅y 2=F 1 t −B 1⋅y ' 1−k 1⋅y 1M 2⋅y ' ' 2B 1⋅y ' 2k 1k 2 ⋅y 2=0 Sistema de 4 ecuaciones diferenciales de 1er. orden y 1 '= v 1 F1 t − B1⋅v 1 B1⋅v 2 − k1⋅y 1 k 2⋅y 2 v 1 '= M1 y 2 '= v 2 B1⋅v 1 k 1⋅y 1− B1⋅v 2 − k1 k 2 ⋅y 2 v 2 '= M2 Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 12 Implementación con vectores La utilización de vectores simplifica notablemente la implementación de los métodos para resolver sistemas de ecuaciones diferenciales. v= vp = t y1 v1 y2 v2 v(0) v(1) v(2) v(3) v(4) 1 y'1 v'1 y'2 v'2 vp(0) vp(1) vp(2) vp(3) vp(4) Ing. Francisco A. Lizarralde Vector de variables Vector de derivadas Facultad de Ingeniería - UNMDP - 2015 13 Implementación con vectores (II) y 1 '= v 1 F1 t − B1⋅v 1 B1⋅v 2 − k 1⋅y 1 k 2⋅y 2 v 1 '= M1 y 2 '= v 2 B1⋅v 1 k 1⋅y 1− B1⋅v 2 − k 1 k 2 ⋅y 2 v 2 '= M2 v= vp = t y1 v1 y2 v2 v(0) v(1) v(2) v(3) v(4) 1 y'1 v'1 y'2 v'2 vp(0) vp(1) vp(2) vp(3) vp(4) Ing. Francisco A. Lizarralde Vector de variables Vector de derivadas Facultad de Ingeniería - UNMDP - 2015 14 Implementación con vectores (III) vp(1)= v (2) F1 ( v ( 0))− B1⋅v ( 2)+ B1⋅v ( 4)− k 1⋅v ( 1)+ k 2⋅v ( 3) vp(2)= M1 vp(3)= v (4) B1⋅v ( 2)+ k 1⋅v (1)− B1⋅v ( 4)−( k 1 + k 2 )⋅v ( 3) vp(4)= M2 v= vp = t y1 v1 y2 v2 v(0) v(1) v(2) v(3) v(4) 1 y'1 v'1 y'2 v'2 vp(0) vp(1) vp(2) vp(3) vp(4) Ing. Francisco A. Lizarralde Vector de variables Vector de derivadas Facultad de Ingeniería - UNMDP - 2015 15 Solución Euler Simple (h=0.1) Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 19 Solución Euler Modificado (h=0.1) Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 21 Solución Runge-Kutta 4to. Orden (h=0.1) Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 23 Runge-Kutta-Fehlberg Ing. Francisco A. Lizarralde (h=0.1) Facultad de Ingeniería - UNMDP - 2015 25 Estabilidad en Runge Kutta (4to.Orden) Para analizar la estabilidad del método de Runge-Kutta de 4to. orden, consideremos por ejemplo, la siguiente ecuación diferencial: y '=⋅y [1] Donde α < 0 Cuya solución analítica es: Siendo el valor exacto de yn+1: y t = y 0⋅e ⋅t y n1= y n⋅e ⋅h [2] Por lo tanto el valor de | yn+1| decrece a medida que aumenta n. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 26 Estabilidad en Runge Kutta (4to.Orden) La solución numérica de la ecuación diferencial y '=∗ y , obtenida por medio del método de Runge-Kutta de 4to. Orden se puede expresar como: k 1=∗h∗y n k1 ∗h k 2 =∗h∗ y n =∗h∗1 ∗y n 2 2 k2 ∗h ∗h k 3 =∗h∗ y n =∗h∗1 ∗1 ∗y n 2 2 2 ∗h ∗h ∗h k 4 =∗h∗ y n k 3 =∗h∗1 ∗1 ∗1 ∗y n 2 2 2 1 2 1 3 1 y n1=[1∗h ∗∗h ∗∗h ∗∗h4 ]∗y n 2 6 24 Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 [3] 27 Estabilidad en Runge Kutta (4to.Orden) La ecuación [3], expresada en la página anterior es igual a los primeros términos del desarrollo de Taylor para el lado derecho de la ecuación [2]. Así podemos considerar que el factor: 1 2 1 3 1 4 =[1∗h ∗∗h ∗∗h ∗∗h ] 2 6 24 [4] ∗h e aproxima a de la ecuación [2], por lo que en esta aproximación se originan tanto el error de truncamiento, como la inestabilidad de la ecuación [3]. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 28 Runge Kutta Ing. Francisco A. Lizarralde (h=0.05) Facultad de Ingeniería - UNMDP - 2015 29 Runge-Kutta (h=0.1) Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 30 Runge-Kutta (h=0.15) Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 31 Runge-Kutta (h=0.2) Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 32 Runge-Kutta (h=0.2) Ing. Francisco A. Lizarralde Intervalo [0, 1] Facultad de Ingeniería - UNMDP - 2015 33 Analicemos otro ejemplo Sistema Masa – Resorte - Amortiguador Sistema de 2 ecuaciones diferenciales de orden 2 M 1⋅y ' ' 1 +B 1⋅y ' 1 +k 1⋅y 1−B 1⋅y ' 2−k 2⋅y 2=F 1 (t ) −B 1⋅y ' 1−k 1⋅y 1 + M 2⋅y ' ' 2 +B 1⋅y ' 2 +(k 1 +k 2 )⋅y 2=0 Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 34 Estabilidad en Runge-Kutta La solución obtenida con h=0.14 es bastante satisfactoria. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 35 Estabilidad en Runge-Kutta En la solución obtenida con h=0.16 se observa un principio de inestabilidad en los valores de la velocidad de la Masa 2. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 36 Estabilidad en Runge-Kutta En la solución obtenida con h=0.18 la inestabilidad en los valores de la velocidad de la Masa 2, se hace más evidente. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 37 Estabilidad en Runge-Kutta En la solución obtenida con h=0.19 la inestabilidad en los valores de la velocidad de la Masa 2, se hace más evidente. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 38 Estabilidad en Runge-Kutta En la solución obtenida con h=0.195 la inestabilidad en los valores de la velocidad de la Masa 2, está presente en todo el intervalo. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 39 Estabilidad en Runge-Kutta En la solución obtenida con h=0.197 la inestabilidad hace que los valores de la velocidad de la Masa 2 crezcan incontrolablemente. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 40 Estrategias de ajuste del paso h La exactitud de los métodos numéricos de resolución de ecuaciones diferenciales depende fuertemente del paso h elegido. Existen diferentes estrategias para ajustar automáticamente el paso h y de esta forma mantener el error de la solución por debajo de una cierta tolerancia establecida. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 41 Estimación del Error En aquellos métodos que no tienen una fórmula específica para la estimación del error, es posible estimarlo por medio de la diferencia del valor calculados con un paso de avance h y del obtenido al avanzar dos pasos h/2. Valor calculado en un solo paso h. yn+1 y*n+1 ERROR ESTIMADO Valor calculado en dos pasos h/2. yn h/2 xn Ing. Francisco A. Lizarralde h/2 h x1 Facultad de Ingeniería - UNMDP - 2015 42 Estrategia de ajuste 1 Se calcula el valor yn+1 utilizando un paso de avance h. Se calcula el valor y*n+1 utilizando dos pasos de avance h/2. Si el valor absoluto de la diferencia entre ambos valores es mayor a la tolerancia establecida, entonces se establece h/2 como nuevo valor de h y se vuelve al paso 1. Si el valor absoluto de la diferencia entre ambos valores es menor a la mitad de la tolerancia establecida, entonces se establece 2*h como nuevo valor de h y se vuelve al paso 1. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 43 Diagrama de Flujo de la estrategia 1 CALCULAR YN+1 CON UN PASO h CALCULAR Y*N+1 CON DOS PASOS h/2 HACER h=h/2 SI |YN+1 – Y*N+1| > tol HACER h=2*h NO |YN+1 – Y*N+1| < (tol / 2) SI NO Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 44 Variación del error con la Estrategia 1 El paso se reduce de ser necesario, pero nunca se aumenta. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 46 Variación del paso h con la Estrategia 1 El paso se reduce de ser necesario, pero nunca se aumenta. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 47 Variación del error con la Estrategia 1 El paso se reduce o se aumenta para lograr la cota de error deseada. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 48 Variación del paso h con la Estrategia 1 El paso se reduce o se aumenta para lograr la cota de error deseada. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 49 Estrategia de ajuste 2 A partir de una estimación del error obtenida por medio de un método como por ejemplo Runge-Kutta-Fehlberg, podemos ajustar el valor de h, en cada paso. tol problema hnuevo =h actual⋅ RKF ∣ ∣ El valor de α se ajusta en base a la relación entre el valor estimado del error y la tolerancia establecida. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 50 Diagrama de la estrategia 2 SI tol >= errorRKF NO HACER α=0.2 HACER α=0.22 tol h=h∗∣ ∣ error RKF Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 51 Variación del error con la Estrategia 2 El paso se ajusta de acuerdo al valor de error calculado. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 52 Variación del paso h con la Estrategia 2 El paso se ajusta de acuerdo al valor de error calculado. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 53 Comparación de ambas estrategias Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 54 Resumen de la Estrategia de ajuste 1 Ventajas No se necesita de un método que calcule explícitamente el error en cada paso. Los valores de h obtenidos múltiplos del h original. son siempre Desventajas La implementación es un poco más complicada que la de la estrategia (II). Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 55 Estrategia de ajuste 2 Ventajas Su implementación es muy sencilla. Desventajas El valor de h que se obtiene generalmente no es un múltiplo del h original. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 56 PREGUNTAS ... Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2015 57