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 suele servir 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.
Considere el problema de calcular la forma de una curva desconocida que comienza en un punto dado y satisface una ecuación diferencial dada. Aquí, una ecuación diferencial puede considerarse como una fórmula mediante la cual se puede calcular la pendiente de la recta tangente a la curva en cualquier punto de la curva, una vez calculada la posición de ese punto.
La idea es que si bien la curva se desconoce inicialmente, se conoce su punto de partida, que denotamos por (ver Figura 1). Luego, a partir de la ecuación diferencial, se puede calcular la pendiente de la curva en y, por tanto, la recta 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 puede ser 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 de y , y la derivada de es una función dada de y se denota como . Comience el proceso configurando . A continuación, elija un valor para el tamaño de cada paso a lo largo del eje t y configúrelo (o equivalentemente ). Ahora, el método de Euler se utiliza para encontrar desde 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 for .
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 le 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 a 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 aproximarnos . [5]
Usando un tamaño de paso igual a 1 (h = 1)
El método de Euler es
entonces 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 de dividido por el cambio de , o .
El siguiente paso es multiplicar el valor anterior por el tamaño del paso , que aquí tomamos igual a uno:
Dado que 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. Luego, este valor se suma 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 resultar ú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 , entonces . Aunque la aproximación del método de Euler no fue muy precisa en este caso específico, particularmente debido a un tamaño de paso de valor grande , su comportamiento es cualitativamente correcto como muestra la figura.
Usar otros tamaños de paso
Como se sugirió 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, también ilustrado en las figuras, se comportan más favorablemente: el error global del método del punto medio es aproximadamente proporcional al cuadrado del tamaño del paso. Por esta razón, 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.
Podemos extrapolar de la tabla anterior que el tamaño de paso necesario para obtener una respuesta correcta con tres decimales es aproximadamente 0,00001, lo que significa que necesitamos 400.000 pasos. Este gran número de pasos conlleva un alto coste computacional. Por esta razón, se emplean métodos de orden superior, como los métodos de Runge-Kutta o los métodos lineales de varios pasos , 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 eso 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 deseemos.
Derivación
El método de Euler se puede derivar de varias formas.
(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 esto se sustituye 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]
La expansión de Taylor se utiliza a continuación para analizar el error cometido por el método de Euler y se puede ampliar para producir métodos de Runge-Kutta .
(3) Una derivación estrechamente relacionada es sustituir la fórmula de diferencias finitas directas por la derivada,
en la ecuación diferencial . De nuevo, 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 momento . La solución numérica viene 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 muestra que para valores pequeños , 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 lineales de varios pasos , 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 del 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 momento fijo , después de tantos pasos que el método deba seguir para llegar a ese momento desde el momento inicial. El error de truncamiento global es el efecto acumulativo de los errores de truncamiento local cometidos en cada paso. [13] Se determina fácilmente que el número de pasos es , que es proporcional a , y el error cometido en cada paso es proporcional a (ver la sección anterior). Por tanto, es de esperar que el error de truncamiento global sea proporcional a . [14]
Este razonamiento intuitivo puede precisarse. Si la solución tiene una segunda derivada acotada y es continua de Lipschitz 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 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 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 encontrar y para cuando . Así podemos encontrar el error limitado en t=2,5 y h=0,5:
Observe que t 0 es igual a 2 porque es el límite inferior de 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 usando 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 incorrecta: oscila y crece (ver 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 cuál 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 , significa que el método de Euler no se usa con frecuencia, excepto como un simple ejemplo de integración numérica [ cita requerida ] . Con frecuencia, los modelos de sistemas físicos contienen términos que representan elementos de rápida descomposición (es decir, con grandes argumentos exponenciales negativos). Incluso cuando estos no son de interés para la solución global, 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 está la máquina épsilon . 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 del método de Euler. [20]
Modificaciones y ampliaciones
Una modificación simple del método de Euler que elimina los problemas de estabilidad señalados anteriormente es el método de Euler hacia atrás :
Esto difiere del método de Euler (estándar o directo) en que la función se evalúa en el punto final del paso, en lugar del punto inicial. El método de Euler hacia atrás es un método implícito , lo que significa que la fórmula del método de Euler hacia atrás tiene ambos lados, por lo que al aplicar el método de Euler hacia atrás tenemos que resolver una ecuación. Esto hace que la implementación sea más costosa.
Los métodos más complicados pueden lograr un orden superior (y más precisión). Una posibilidad es utilizar más evaluaciones de funciones. Esto se ilustra con el método del punto medio que ya se menciona en este artículo:
La otra posibilidad es utilizar más valores pasados, como lo ilustra el método de dos pasos Adams-Bashforth:
Esto conduce a la familia de métodos lineales de varios pasos . Existen otras modificaciones que utilizan técnicas de detección de compresión para minimizar el uso de memoria [21]
En la cultura popular
En la película Figuras ocultas , Katherine Goble recurre al método de Euler para calcular el reingreso del astronauta John Glenn desde la órbita terrestre. [22]
^ Unni, diputado; Chandra, MG; Kumar, AA (marzo de 2017). "Reducción de memoria para solución numérica de ecuaciones diferenciales mediante detección de compresión". 2017 IEEE 13º Coloquio Internacional sobre Procesamiento de Señales y sus Aplicaciones (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). "Conozca al matemático de 'Figuras ocultas' que ayudó a enviar a los estadounidenses al espacio". Los Ángeles 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 simple de Euler y sus modificaciones (PDF) (Apuntes de la conferencia de MATH334), Universidad de Vermont , consultado el 29 de febrero de 2012
Unni, MP (2017). "Reducción de memoria para solución numérica de ecuaciones diferenciales mediante detección de compresión". 2017 IEEE 13º Coloquio Internacional sobre Procesamiento de Señales y sus Aplicaciones (CSPA) . IEEE CSPA. págs. 79–84. doi :10.1109/CSPA.2017.8064928. ISBN 978-1-5090-1184-1. S2CID 13082456.
enlaces externos
El Wikibook 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 mediante Rosetta Code