Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Métodos numéricos avanzados Unidad I. Solución numérica de ecuaciones diferenciales ordinarias y diferenciales parciales MCQB. Luis Alfredo Platas Román 02/10/2020 1 Métodos Numéricos Avanzados › Unidad I: Solución numérica de ecuaciones diferenciales ordinarias y diferenciales parciales. › Competencia: Resuelve problemas de ingeniería que involucren encontrar la solución numérica de ecuaciones diferenciales ordinarias con valores iniciales o con valores en la frontera y de ecuaciones diferenciales parciales utilizando herramientas computacionales. 28/09/2020 2 Desagregado de contenido › 1.1 Método de Euler. › 1.2 Método de Heun. › 1.3 Método de Runge-Kutta de cuarto orden. › 1.4 Método de cuasi-Newton › 1.5 Sistemas de ecuaciones diferenciales ordinarias. 28/09/2020 3 INTRODUCCIÓN › ¿Qué es un Ecuación diferencial ordinaría(EDO)? › ¿Características de una EDO? › ¿EDO = EDP? 28/09/2020 4 APLICACIONES DE EDO EN INGENIERÍA 28/09/2020 5 Introducción Este capítulo se dedica a la solución de ecuaciones diferenciales ordinarias de la forma dy/dx = f (x, y) De acuerdo con la ecuación (1), la pendiente estimada f se usa para extrapolar desde un valor anterior yi a un nuevo valor yi+1en una distancia h. yi+1 = yi + fh (1) 28/09/2020 6 Introducción Existen una gran diversidad de métodos numéricos para la resolución de un problema de valor inicial, con distintas características. Estos métodos se agrupan en dos familias: Métodos de un paso y métodos de pasos múltiples 28/09/2020 7 MÉTODO DE EULER La primera derivada ofrece una estimación directa de la pendiente en xi (Figura 2): f = ƒ(xi, yi) donde ƒ(xi, yi) es la ecuación diferencial evaluada en xi y yi. La estimación se sustituye en la siguiente ecuación: › yi+1 = yi + ƒ(xi, yi)h 28/09/2020 8 Ejemplo 1. Método de Euler Con el método de Euler integre numéricamente la ecuación: dy/dx = -2x3 +12x2 - 20x + 8.5 desde x = 0 hasta x = 4 con un tamaño de paso 0.5. La condición inicial en x = 0 es y = 1. Recuerde que la solución exacta está dada por la ecuación: y = –0.5x4 + 4x3 – 10x2+ 8.5x + C y = –0.5x4 + 4x3 – 10x2+ 8.5x + 1 28/09/2020 9 Ejemplo 1. Método de Euler › Solución. Se utiliza la ecuación (25.2) para implementar el método de Euler: y(0.5) = y(0) + ƒ(0, 1)0.5 donde y(0) = 1 y la pendiente estimada en x = 0 es: ƒ(0, 1) = –2(0)3+ 12(0)2– 20(0) + 8.5 = 8.5 Por lo tanto, y(0.5) = 1.0 + 8.5(0.5) = 5.25 La solución verdadera en x = 0.5 es: y = –0.5(0.5)4+ 4(0.5)3– 10(0.5)2+ 8.5(0.5) + 1 = 3.21875 28/09/2020 10 Ejemplo 1. Método de Euler En el segundo paso, y(1) = y(0.5) + ƒ(0.5, 5.25)0.5 = 5.25 + [–2(0.5)3 + 12(0.5)2– 20(0.5) + 8.5]0.5 = 5.875 28/09/2020 11 ¿Como podríamos aproximarnos a la solución verdadera? 28/09/2020 12 ¿Cómo programar este código en Matlab? function [x,y] = Euler_EDO (f,x0,xf,N,y0) %Método de Euler para problemas de valor inicial %Euler_EDO: Nombre del programa % [x,y] = vector, soluciones aproximadas %(f,x0,xf,N,y0): variables de entrada 28/09/2020 13 ¿Cómo programar este código en Matlab? h=(xf-x0)/N; x=x0:h:xf; % definición del vector x y= zeros(N+1,1); %Vector y inicializado en 0 y(1)=y0; for k=1:N y(k+1)= y(k)+h*feval(f,x(k),y(k)); end end 28/09/2020 14 Definimos la función en otro archivo function fx= EDO_1(x,y) fx=-2*x^3 + 12*x^2 -20*x + 8.5; end 28/09/2020 15 Definición de condiciones iniciales Command window [x,y] = Euler_EDO ('EDO_1',0,4,8,1) plot (x,y) Ahora comparemos el resultado con la solución exacta: Integral solex=(-0.5*x.^4+4*x.^3-10*x.^2+8.5*x+1) 28/09/2020 16 Solución Euler vs Solución exacta Finalmente comparamos ambos gráficos: plot(x,solex) >> hold on >> plot(x,y) 28/09/2020 17 Ejercicio #2: Resuelva el siguiente problema de valor inicial por el método de Euler 28/09/2020 18 N=10 Respuesta esperada. Solución gráfica Euler vs solución exacta 28/09/2020 19 h=0.1 Método de Heun 02/10/2020 20 Método de Heun Un motivo fundamental de error en el método de Euler es suponer que la derivada al inicio del intervalo es la misma durante todo el intervalo. El método de Heun consiste en mejorar la estimación de la pendiente empleando la determinación de dos derivadas en el intervalo (una en el punto inicial y otra en el final). Las dos derivadas se promedian después con la finalidad de obtener una mejor estimación de la pendiente en todo el intervalo. 28/09/2020 21 Método de Heun y´i = ƒ(xi, yi) se utiliza para extrapolar linealmente a yi+1: y0 i+1 = yi + ƒ(xi, yi)h (2) En el método de Heun la y0 i+1 , no es la respuesta final, sino una predicción intermedia. Por consiguiente, la distinguimos con un superíndice 0. La ecuación (2) se llama ecuación predictora o simplemente predictor. Da una estimación de yi+1 que permite el cálculo de una estimación de la pendiente al final del intervalo: › y′i+1 = ƒ(xi+1, y 0 i+1) 28/09/2020 22 Método de Heun Así, se combinan las dos pendientes para obtener una pendiente promedio en el intervalo: Esta pendiente promedio se utiliza después para extrapolar linealmente desde yi hasta yi+1 con el método de Euler: 28/09/2020 23 Se conoce como ecuación correctora o simplemente corrector. Representación gráfica Heun 28/09/2020 24 Predictor Corrector Ejercicio #3. Método de Heun Con el método de Heun integre: y′ = 4e0.8x – 0.5y desde x =0 hasta x = 4, con un tamaño de paso igual a 1. La condición inicial es en x = 0, y = 2. 28/09/2020 25 Solución analítica Ejercicio #3. Paso a paso Primero, se calcula la pendiente en (x0, y0) como: y′0 = 4e0 – 0.5(2) = 3 Este resultado difiere mucho de la pendiente promedio real en el intervalo de 0 a 1.0, que es igual a 4.1946, La solución numérica se obtiene al usar el predictor, para llegar a un estimado de y en 1.0: 02/10/2020 26 y01 = 2 + 3(1) = 5 Ejercicio #3. Paso a paso Para mejorar el estimado de yi+1, se emplea el valor y01 para predecir la pendiente al final del intervalo: y’1 = ƒ(x1, y01) = 4e0.8(1)– 0.5(5) = 6.402164 que se combina con la pendiente inicial para obtener una pendiente promedio en el intervalo desde x = 0 hasta 1: 02/10/2020 27 Ejercicio #3. Paso a paso El valor anterior se encuentra más cercano a la pendiente promedio verdadera, 4.1946. Dicho resultado se sustituye en el corrector para obtener la predicción en x = 1: y1= 2 + 4.701082(1) = 6.701082 02/10/2020 28 Ejercicio #3. Paso a paso Ahora dicho estimado se utiliza para mejorar o corregir la predicción de y1 sustituyendo el nuevo resultado en el lado derecho de la ecuación El resultado, a su vez, se sustituye en la ecuación predictora para corregir aún más: 02/10/2020 29 Comparación de resultados: Solución analítica vs Heun 28/09/2020 30 Método de Heun En situaciones como los polinomios, donde la EDO es únicamente función de la variable independiente, no se requiere el paso predictor y el corrector se aplica sólo una vez en cada iteración. En tales casos, la técnica se expresa en forma concisa como sigue: 28/09/2020 31 Sistema de ecuaciones Muchos problemas prácticos en la ingeniería y en la ciencia requieren la solución de un sistema de ecuaciones diferenciales ordinarias simultáneas más que de una sola ecuación. Tales sistemas en general se representan como: 28/09/2020 32 Tarea. Modelado de un sistema de ecuaciones en un reactor CSTR por el método de Euler y Heun 28/09/2020 33
Compartir