BADILLO Método de Euler En matemática y computación, el método de Euler, llamado así en honor de Leonhard Euler, es un procedimiento de integración numérica para resolver ecuaciones diferenciales ordinarias a partir de un valor inicial dado. El método de Euler es el más simple de los métodos numéricos resolver un problema del siguiente tipo:
Consiste en multiplicar los intervalos que va de a en subintervalos
de ancho ; osea:
de manera que se obtiene un conjunto discreto
de puntos: del intervalo de interes . Para cualquiera de estos puntos se cumlple que:
La condición inicial , representa el punto por
donde pasa la curva solución de la ecuación de el planteamiento inicial, la cual se denotará como . Ya teniendo el punto se puede evaluar la primera derivada de en ese punto; por lo tanto: Con esta información se traza una recta, aquella que pasa por y de pendiente . Esta recta aproxima en una vecinidad de . Tómese la recta como reemplazo de y localícese en ella (la recta) el valor de y correspondiente a . Entonces, podemos deducir segun la Gráfica A: Se resuelve para :
Es evidente que la ordenada calculada de esta manera no es igual
a , pues existe un pequeño error. Sin embargo, el valor sirve para que se aproxime en el punto y repetir el procedimiento anterior a fin de generar la sucesión de aproximaciones siguiente: CODIGO VISTO EN CLASE
/* Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica y Eléctrica - Zacatenco Academia de Computación de I.S.I.S.A. Materia : Métodos Numéricos. Profesor : Ing. José Gerardo Romero Badillo. Grupo : 2SV1 Fecha : 28-May-2019 Práctica : Método de Euler. */ #include <stdio.h> #include <math.h>
double f(double x, double y)
{ return y*log(y)/x; } int main() { double x0, y0, x1, y1, h; int n; printf("Metodo de Euler\n\n"); printf("Condicion inicial:\n"); printf("x0 = "); scanf("%lf", &x0); printf("y0 = "); scanf("%lf", &y0); printf("Condicion inicial y(%lf)=%lf\n", x0, y0); printf("Ingrese h "); scanf("%lf", &h); printf("\n"); printf(" n | xn | yn\n"); printf("-------------------------\n"); for (n = 1; n <= 10; n++) { y1 = y0 + h * f(x0, y0); x1 = x0 + h; printf("%2i | %10.8lf | %10.8lf\n", n, x0, y1); x0 = x1; y0 = y1; } } CAPTURA DE CODIGO
CONCLUSIONES:
El método de Euler es un método de primer orden, lo que significa que el error
local es proporcional al cuadrado del tamaño del paso, y el error global es proporcional al tamaño del paso. El método de Euler regularmente sirve como base para construir métodos más complejos.