El método de Euler es un método de primer orden, lo que significa que el error local (error por paso) es proporcional al cuadrado del tamaño del paso, y el error global (error en un momento dado) es proporcional al tamaño del paso. El método de Euler a menudo sirve como base para construir métodos más complejos, por ejemplo, el método predictor-corrector .
Descripción geométrica
Propósito y por qué funciona
Consideremos el problema de calcular la forma de una curva desconocida que comienza en un punto dado y satisface una ecuación diferencial dada. En este caso, una ecuación diferencial puede considerarse como una fórmula mediante la cual se puede calcular la pendiente de la línea tangente a la curva en cualquier punto de la curva, una vez que se ha calculado la posición de ese punto.
La idea es que, si bien la curva es inicialmente desconocida, su punto de partida, que denotamos por, es conocido (ver Figura 1). Luego, a partir de la ecuación diferencial, se puede calcular la pendiente de la curva en y, por lo tanto, la línea tangente.
Da un pequeño paso a lo largo de esa línea tangente hasta un punto A lo largo de este pequeño paso, la pendiente no cambia demasiado, por lo que estará cerca de la curva. Si pretendemos que todavía está en la curva, se puede utilizar el mismo razonamiento que para el punto anterior. Después de varios pasos, se calcula una curva poligonal ( ). En general, esta curva no diverge demasiado de la curva desconocida original, y el error entre las dos curvas se puede hacer pequeño si el tamaño del paso es lo suficientemente pequeño y el intervalo de cálculo es finito. [2]
Proceso de primer orden
Cuando se dan los valores para y , y la derivada de es una función dada de y denotada como . Comience el proceso estableciendo . A continuación, elija un valor para el tamaño de cada paso a lo largo del eje t y establezca (o equivalentemente ). Ahora, se utiliza el método de Euler para encontrar a partir de y : [3]
El valor de es una aproximación de la solución en el tiempo , es decir, . El método de Euler es explícito , es decir, la solución es una función explícita de para .
Proceso de orden superior
Si bien el método de Euler integra una EDO de primer orden, cualquier EDO de orden puede representarse como un sistema de EDO de primer orden. Cuando se da la EDO de orden definida como
así como , , y , implementamos la siguiente fórmula hasta llegar a la aproximación de la solución de la EDO en el tiempo deseado:
Estos sistemas de primer orden pueden manejarse mediante el método de Euler o, de hecho, mediante cualquier otro esquema para sistemas de primer orden. [4]
Ejemplo de primer orden
Dado el problema del valor inicial
Nos gustaría utilizar el método de Euler para aproximar . [5]
Usando un tamaño de paso igual a 1 (h = 1)
El método de Euler es
Por lo tanto, primero debemos calcular . En esta ecuación diferencial simple, la función está definida por . Tenemos
Al realizar el paso anterior, hemos encontrado la pendiente de la línea que es tangente a la curva solución en el punto . Recuerde que la pendiente se define como el cambio en dividido por el cambio en , o .
El siguiente paso es multiplicar el valor anterior por el tamaño del paso , que aquí tomamos igual a uno:
Como el tamaño del paso es el cambio en , cuando multiplicamos el tamaño del paso y la pendiente de la tangente, obtenemos un cambio en el valor. Este valor se suma luego al valor inicial para obtener el siguiente valor que se utilizará para los cálculos.
Los pasos anteriores deben repetirse para encontrar , y .
Debido a la naturaleza repetitiva de este algoritmo, puede ser útil organizar los cálculos en forma de gráfico, como se ve a continuación, para evitar cometer errores.
La conclusión de este cálculo es que . La solución exacta de la ecuación diferencial es , por lo que . Aunque la aproximación del método de Euler no fue muy precisa en este caso específico, en particular debido a un gran tamaño de paso de valor , su comportamiento es cualitativamente correcto como lo muestra la figura.
Usando otros tamaños de paso
Como se sugiere en la introducción, el método de Euler es más preciso si el tamaño del paso es menor. La siguiente tabla muestra el resultado con diferentes tamaños de paso. La fila superior corresponde al ejemplo de la sección anterior y la segunda fila se ilustra en la figura.
El error registrado en la última columna de la tabla es la diferencia entre la solución exacta en y la aproximación de Euler. En la parte inferior de la tabla, el tamaño del paso es la mitad del tamaño del paso en la fila anterior, y el error también es aproximadamente la mitad del error en la fila anterior. Esto sugiere que el error es aproximadamente proporcional al tamaño del paso, al menos para valores bastante pequeños del tamaño del paso. Esto es cierto en general, también para otras ecuaciones; consulte la sección Error de truncamiento global para obtener más detalles.
Otros métodos, como el método del punto medio , que también se ilustra en las figuras, se comportan de forma más favorable: el error global del método del punto medio es aproximadamente proporcional al cuadrado del tamaño del paso. Por este motivo, se dice que el método de Euler es un método de primer orden, mientras que el método del punto medio es de segundo orden.
De la tabla anterior se puede extrapolar que el tamaño de paso necesario para obtener una respuesta correcta con tres decimales es de aproximadamente 0,00001, lo que significa que necesitamos 400.000 pasos. Esta gran cantidad de pasos implica un alto coste computacional. Por este motivo, se emplean métodos de orden superior, como los métodos de Runge-Kutta o los métodos lineales multipaso , especialmente si se desea una alta precisión. [6]
Ejemplo de orden superior
Para este ejemplo de tercer orden, supongamos que se proporciona la siguiente información:
De esto podemos aislar y''' para obtener la ecuación:
Usando esto podemos obtener la solución para : Y usando la solución para , podemos obtener la solución para : Podemos continuar este proceso usando la misma fórmula tanto tiempo como sea necesario para encontrar lo que deseamos.
Derivación
El método de Euler se puede derivar de varias maneras.
(1) En primer lugar, está la descripción geométrica anterior.
(2) Otra posibilidad es considerar la expansión de Taylor de la función alrededor de :
La ecuación diferencial establece que . Si se sustituye esto en la expansión de Taylor y se ignoran los términos cuadráticos y de orden superior, surge el método de Euler. [7]
A continuación se utiliza la expansión de Taylor para analizar el error cometido por el método de Euler, y puede extenderse para producir métodos de Runge-Kutta .
(3) Una derivación estrechamente relacionada es sustituir la fórmula de diferencia finita hacia adelante por la derivada,
en la ecuación diferencial . Nuevamente, esto produce el método de Euler. [8]
El error de truncamiento local del método de Euler es el error cometido en un solo paso. Es la diferencia entre la solución numérica después de un paso, y la solución exacta en el tiempo . La solución numérica está dada por
Para la solución exacta, utilizamos la expansión de Taylor mencionada en la sección Derivación anterior:
El error de truncamiento local (LTE) introducido por el método de Euler viene dado por la diferencia entre estas ecuaciones:
Este resultado es válido si tiene una tercera derivada acotada. [10]
Esto demuestra que para α pequeño , el error de truncamiento local es aproximadamente proporcional a . Esto hace que el método de Euler sea menos preciso que las técnicas de orden superior, como los métodos de Runge-Kutta y los métodos de pasos múltiples lineales , para los cuales el error de truncamiento local es proporcional a una potencia mayor del tamaño del paso.
Se puede obtener una formulación ligeramente diferente para el error de truncamiento local utilizando la forma de Lagrange para el término restante en el teorema de Taylor . Si tiene una segunda derivada continua, entonces existe una tal que
[11]
En las expresiones anteriores para el error, la segunda derivada de la solución exacta desconocida se puede reemplazar por una expresión que involucre el lado derecho de la ecuación diferencial. De hecho, de la ecuación se deduce que [12]
Error de truncamiento global
El error de truncamiento global es el error en un tiempo fijo , después de la cantidad de pasos que el método necesita dar para alcanzar ese tiempo desde el tiempo inicial. El error de truncamiento global es el efecto acumulativo de los errores de truncamiento locales cometidos en cada paso. [13] El número de pasos se determina fácilmente como , que es proporcional a , y el error cometido en cada paso es proporcional a (ver la sección anterior). Por lo tanto, es de esperar que el error de truncamiento global sea proporcional a . [14]
Este razonamiento intuitivo se puede precisar. Si la solución tiene una segunda derivada acotada y es Lipschitz continua en su segundo argumento, entonces el error de truncamiento global (denotado como ) está acotado por
donde es un límite superior de la segunda derivada de en el intervalo dado y es la constante de Lipschitz de . [15] O más simplemente, cuando , el valor (tal que se trata como una constante). Por el contrario, donde la función es la solución exacta que solo contiene la variable.
La forma precisa de este límite tiene poca importancia práctica, ya que en la mayoría de los casos el límite sobreestima enormemente el error real cometido por el método de Euler. [16] Lo que es importante es que muestra que el error de truncamiento global es (aproximadamente) proporcional a . Por esta razón, se dice que el método de Euler es de primer orden. [17]
Ejemplo
Si tenemos la ecuación diferencial y la solución exacta y queremos hallar y para cuando , podemos hallar el límite de error en t=2,5 y h=0,5:
Tenga en cuenta que t 0 es igual a 2 porque es el límite inferior para t en .
Estabilidad numérica
El método de Euler también puede ser numéricamente inestable , especialmente para ecuaciones rígidas , lo que significa que la solución numérica crece mucho para ecuaciones donde la solución exacta no lo hace. Esto se puede ilustrar utilizando la ecuación lineal
La solución exacta es , que decae a cero cuando . Sin embargo, si se aplica el método de Euler a esta ecuación con un tamaño de paso , entonces la solución numérica es cualitativamente errónea: oscila y crece (ver la figura). Esto es lo que significa ser inestable. Si se utiliza un tamaño de paso más pequeño, por ejemplo , entonces la solución numérica decae a cero.
Si se aplica el método de Euler a la ecuación lineal , entonces la solución numérica es inestable si el producto está fuera de la región
ilustrado a la derecha. Esta región se llama región de estabilidad (lineal) . [18] En el ejemplo, , entonces si entonces que está fuera de la región de estabilidad y, por lo tanto, la solución numérica es inestable.
Esta limitación —junto con su lenta convergencia del error con — significa que el método de Euler no se utiliza a menudo, excepto como un ejemplo simple de integración numérica [ cita requerida ] . Con frecuencia, los modelos de sistemas físicos contienen términos que representan elementos de decaimiento rápido (es decir, con grandes argumentos exponenciales negativos). Incluso cuando estos no son de interés en la solución general, la inestabilidad que pueden inducir significa que se requeriría un paso de tiempo excepcionalmente pequeño si se utiliza el método de Euler.
Errores de redondeo
En el paso del método de Euler, el error de redondeo es aproximadamente de la magnitud donde es la épsilon de la máquina . Suponiendo que los errores de redondeo son variables aleatorias independientes, el error de redondeo total esperado es proporcional a . [19] Por lo tanto, para valores extremadamente pequeños del tamaño del paso, el error de truncamiento será pequeño, pero el efecto del error de redondeo puede ser grande. La mayor parte del efecto del error de redondeo se puede evitar fácilmente si se utiliza la suma compensada en la fórmula para el método de Euler. [20]
Modificaciones y ampliaciones
Una modificación simple del método de Euler que elimina los problemas de estabilidad mencionados anteriormente es el método de Euler inverso :
Esto difiere del método de Euler (estándar o hacia adelante) en que la función se evalúa en el punto final del paso, en lugar del punto inicial. El método de Euler inverso es un método implícito , lo que significa que la fórmula para el método de Euler inverso tiene en ambos lados, por lo que al aplicar el método de Euler inverso tenemos que resolver una ecuación. Esto hace que la implementación sea más costosa.
Los métodos más complejos permiten alcanzar un orden superior (y una mayor precisión). Una posibilidad es utilizar más evaluaciones de funciones. Esto se ilustra con el método del punto medio que ya se mencionó en este artículo:
La otra posibilidad es utilizar más valores pasados, como lo ilustra el método de dos pasos de Adams-Bashforth:
Esto conduce a la familia de métodos lineales de múltiples pasos . Existen otras modificaciones que utilizan técnicas de detección compresiva para minimizar el uso de memoria [21].
^ Unni, MP; Chandra, MG; Kumar, AA (marzo de 2017). "Reducción de memoria para la solución numérica de ecuaciones diferenciales mediante detección compresiva". 2017 IEEE 13th International Colloquium on Signal Processing & its Applications (CSPA) . págs. 79–84. doi :10.1109/CSPA.2017.8064928. ISBN 978-1-5090-1184-1.S2CID 13082456 .
^ Khan, Amina (9 de enero de 2017). «Conoce al matemático de 'Hidden Figures' que ayudó a enviar estadounidenses al espacio». Los Angeles Times . Consultado el 12 de febrero de 2017 .
Hairer, Ernst; Norsett, Syvert Paul; Wanner, Gerhard (1993). Resolución de ecuaciones diferenciales ordinarias I: Problemas no rígidos . Berlín, Nueva York: Springer-Verlag . ISBN 978-3-540-56670-0.
Stoer, Josef; Bulirsch, Roland (2002). Introducción al análisis numérico (3ª ed.). Berlín, Nueva York: Springer-Verlag . ISBN 978-0-387-95452-3.
Lakoba, Taras I. (2012), Método de Euler simple y sus modificaciones (PDF) (Apuntes de clase para MATH334), Universidad de Vermont , consultado el 29 de febrero de 2012
Unni, M P. (2017). "Reducción de memoria para la solución numérica de ecuaciones diferenciales mediante detección compresiva". 2017 IEEE 13th International Colloquium on Signal Processing & its Applications (CSPA) . IEEE CSPA. págs. 79–84. doi :10.1109/CSPA.2017.8064928. ISBN .978-1-5090-1184-1.S2CID 13082456 .
Enlaces externos
El Wikilibro Cálculo tiene una página sobre el tema: Método de Euler
Medios relacionados con el método de Euler en Wikimedia Commons
Implementaciones del método Euler en diferentes lenguajes por Rosetta Code