Está en la página 1de 4

FACULTAD DE INGENIRÍA CIVIL Y

ARQUITECTURA
ESCUELA PROFESIONAL DE
CIENCIAS FÍSICO – MATEMÁTICAS
Trabajo Encargado de la asignatura
Análisis Numérico II
TEMA : Método de Euler Mejorado
DOCENTE : Percy Juan Mamani Cutipa
ALUMNO : Wilser Aldair Condori
Holgado
PUNO – PERÚ
2018
MÉTODO DE EULER MEJORADO
Este método se basa en la misma idea del método anterior, pero hace un
refinamiento en la aproximación, tomando un promedio entre ciertas
pendientes.
La fórmula es la siguiente:

Donde

Para entender esta fórmula, analicemos el primer paso de la aproximación,


con base en la siguiente gráfica:

En la gráfica, vemos que la pendiente promedio "𝑚" corresponde a la


pendiente de la recta bisectriz de la recta tangente a la curva en el punto
de la condición inicial y la "recta tangente" a la curva en el punto (𝑥1 , 𝑦1 )
donde 𝑦1 es la aproximación obtenida con la primera fórmula de Euler.
Finalmente, esta recta bisectriz se traslada paralelamente hasta el punto de
la condición inicial, y se considera el valor de esta recta en el punto 𝑥 =
𝑥1 como la aproximación de Euler mejorada.
EJEMPLO

Utilizando el método de Euler mejorado, vamos a resolver el siguiente


problema de valor inicial.
𝑑𝑦
= 𝑓(𝑥, 𝑦) = 𝑥 − 𝑦, 𝑦(0) = 2
𝑑𝑥
Para conocer un valor aproximado de 𝑦(1), con un paso h = 0.2. Para encontrar
𝑦1 necesitamos calcular.

𝑦 ∗𝑛+1 = 𝑦0 + ℎ𝑓(𝑥0 , 𝑦0 ) = 2 + 0.2𝑓(0 − 2) = 1.6

ahora,
1
𝑦1 = 𝑦0 + (𝑓(𝑥0 , 𝑦0 ) + 𝑓(𝑥0 , 𝑦 ∗𝑛+1 ))
2
1
𝑦1 = 𝑦0 + (𝑓(0,2) + 𝑓(0.2,1.6))
2
1
𝑦1 = 2 + (𝑓(0 − 2) + 𝑓(0.2 − 1.6)) = 1.66
2

Repitiendo el proceso obtenemos.

𝑦 ∗𝑛+1 = 𝑦1 + ℎ𝑓(𝑥1 , 𝑦1 ) = 1.66 + 0.2𝑓(0.2,1.66) = 1.66 + 0.2(0.2 − 1.66) = 1.368


1
𝑦2 = 𝑦1 + (𝑓(𝑥1 , 𝑦1 ) + 𝑓(𝑥2 , 𝑦 ∗𝑛+1 ))
2
1
𝑦2 = 𝑦1 + (𝑓(0,2,1.66) + 𝑓(0.4,1.368))
2
1
𝑦2 = 1.66 + ((0,2 − 1.66) + (0.4 − 1.368)) = 1.4172
2

Procediendo de forma similar se llega a que 𝑦(1) ≈ 𝑦5 = 1.11222. Si utilizamos


el programa Mathematica.

________________________________________________________

f[x , y ] := x − y;

a = 0.; b = 1.;

dato = {2.};
n = 5;

h = (b − a)/n;

nodo = Table[a + ih, {i, 0, n}];

For[i = 2, i <= n + 1, i + +, z = dato[[i − 1]] + h ∗ f[nodo[[i − 1]], dato[[i − 1]]];

AppendTo[dato, dato[[i − 1]] + (h/2)(f[nodo[[i − 1]], dato[[i − 1]]] + f[nodo[[i]],


z])]];

Print[Table[{nodo[[i]], dato[[i]]}, {i, n + 1}]]

________________________________________________________

Una vez ejecutado el algoritmo, la respuesta es:

{{0., 2.}, {0.2, 1.66}, {0.4, 1.4172}, {0.6, 1.2541}, {0.8, 1.15637}, {1., 1.11222}}.

La representación gráfica de dichos valores aparece en la Figura

________________________________________________________

ListPlot[Table[fnodo[[i]]; dato[[i]]g; fi; n + 1g]; PlotPoint ! True];

En la gráfica 𝑥 = 𝑡

También podría gustarte