Logo Studenta
Gratis
33 pág.
Unidad I Método Euler&Heun

Vista previa | Página 1 de 1

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