El método de Euler es el método numérico más simple para resolver sistemas de ecuaciones diferenciales ordinarias . Descrito por primera vez por Leonhard Euler en 1768 en su obra "Integral Calculus" [1] . El método de Euler es un método de precisión de primer orden explícito de un solo paso. Se basa en la aproximación de una curva integral por una función lineal por tramos, la llamada línea quebrada de Euler.
Sea dado el problema de Cauchy para la ecuación de primer orden:
donde la función está definida en algún dominio . La solución se busca en el semiintervalo . En este intervalo, introducimos nodos: La solución aproximada en los nodos , que denotamos por , está determinada por la fórmula:
Estas fórmulas pueden generalizarse directamente al caso de sistemas de ecuaciones diferenciales ordinarias.
El error de paso o error local es la diferencia entre la solución numérica después de un paso de cálculo y la solución exacta en el punto . La solución numérica viene dada por la fórmula
La solución exacta se puede expandir en una serie de Taylor :
Obtenemos el error local restando la primera de la segunda igualdad:
Esto es cierto si tiene una segunda derivada continua [2] . Otra condición suficiente para la validez de esta estimación, de la que se sigue la anterior y que suele ser fácilmente comprobable, es la diferenciabilidad continua respecto de ambos argumentos [3] .
El error en general, error global o acumulado es el error en el último punto de un segmento final arbitrario de la integración de la ecuación. Para calcular la solución en este punto se requieren pasos, donde es la longitud del segmento. Por lo tanto, el error global del método .
Por lo tanto, el método de Euler es un método de primer orden: tiene un error en un paso y un error en general [3] .
El método de Euler fue históricamente el primer método para la solución numérica del problema de Cauchy. O. Cauchy utilizó este método para demostrar la existencia de una solución al problema de Cauchy. Debido a la baja precisión y la inestabilidad computacional, el método de Euler rara vez se usa para encontrar soluciones prácticas al problema de Cauchy. Sin embargo, debido a su simplicidad, el método de Euler encuentra su aplicación en estudios teóricos de ecuaciones diferenciales, problemas de cálculo de variaciones y una serie de otros problemas matemáticos.
Es posible aumentar la precisión y estabilidad del cálculo de la solución utilizando el método de Euler explícito de la siguiente forma.
Pronóstico:
.Corrección:
.Para mejorar la precisión, la iteración correctiva se puede repetir sustituyendo .
El método de Euler modificado con recálculo tiene el segundo orden de precisión, sin embargo, para su implementación, es necesario calcular al menos dos veces . El método de Euler con recálculo es una variación de los métodos de Runge-Kutta (predictor-corrector).
Otra forma de aumentar la precisión del método es utilizar no uno, sino varios valores de función previamente calculados:
Este es un método lineal de varios pasos .
La implementación de C para .
#incluir <stdio.h> función doble ( doble x , doble y ) { devuelve 6 * x * x + 5 * x * y ; // función de primera derivada } int principal ( int argc , char ** argv ) { int i , n ; doble x , y , h ; h = 0,01 ; // paso n = 10 ; // número de iteraciones x = 1 ; // x0 y = 1 ; // y0 para ( yo = 0 ; yo < norte ; yo ++ ) { y += h * función ( x , y ); // calculo yi x += h ; } devuelve SALIR_ÉXITO ; }Implementación en Python 3.7 :
# n - número de iteraciones, h - paso, (x, y) - punto de partida def Euler ( n = 10 , h = 0.01 , x = 1 , y = 1 ): for i in range ( n ): y += h * función ( x , y ) x += h devuelve x , y # solución función def ( x , y ): devuelve 6 * x ** 2 + 5 * x * y # función de primera derivada imprimir ( Euler ())Implementación en lenguaje Lua :
n , h , x , y = 10 , 0.01 , 1 , 1 -- número de iteraciones, paso, coordenadas del punto inicial función f ( x , y ) return 6 * x ^ 2 + 5 * x * y end -- primera derivada función para i = 1 , n do x , y = x + h , y + h * f ( x , y ) end print ( 'x: ' .. x .. ' y: ' .. y )diccionarios y enciclopedias |
---|
Método de diferencias finitas | |
---|---|
Artículos generales | |
Tipos de esquemas de diferencia. |