Articulo de referencia

Método de Euler

(Figura 1) Ilustración del método de Euler. La curva desconocida está en azul y su aproximación poligonal en rojo. En matemáticas y ciencias computacionales , el método de Euler...

(Figura 1) Ilustración del método de Euler. La curva desconocida está en azul y su aproximación poligonal en rojo.

En matemáticas y ciencias computacionales , el método de Euler (también llamado método de Euler hacia adelante ) es un procedimiento numérico de primer orden para resolver ecuaciones diferenciales ordinarias (EDO) con un valor inicial dado . Es el método explícito más básico para la integración numérica de ecuaciones diferenciales ordinarias y el método de Runge-Kutta más simple . El método de Euler recibe su nombre de Leonhard Euler , quien lo propuso por primera vez en su libro Institutionum calculi integralis (publicado entre 1768 y 1770). [ 1 ]

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 de base para construir métodos más complejos, como 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 parte de un punto dado y satisface una ecuación diferencial. En este caso, una ecuación diferencial puede entenderse como una fórmula que permite calcular la pendiente de la recta tangente a la curva en cualquier punto de la misma, una vez que se ha determinado la posición de dicho punto.

La idea es que, si bien la curva es inicialmente desconocida, su punto de partida, que denotamos porA0,{\displaystyle A_{0},}es conocido (ver Figura 1). Entonces, a partir de la ecuación diferencial, la pendiente de la curva enA0{\displaystyle A_{0}}se puede calcular y, por lo tanto, la línea tangente.

Da un pequeño paso a lo largo de esa línea tangente hasta un punto.A1.{\displaystyle A_{1}.}A lo largo de este pequeño escalón, la pendiente no cambia demasiado, así queA1{\displaystyle A_{1}}estará cerca de la curva. Si suponemos queA1{\displaystyle A_{1}}sigue en la curva, el mismo razonamiento que para el puntoA0{\displaystyle A_{0}}arriba se puede utilizar. Después de varios pasos, una curva poligonal (A0,A1,A2,A3,{\displaystyle A_{0},A_{1},A_{2},A_{3},\dots }) se calcula. En general, esta curva no diverge demasiado de la curva desconocida original, y el error entre las dos curvas puede hacerse pequeño si el tamaño del paso es suficientemente pequeño y el intervalo de cálculo es finito. [ 2 ]

Proceso de primer orden

Cuando se le dan los valores parat0{\displaystyle t_{0}}yy(t0){\displaystyle y(t_{0})}y el derivado dey{\displaystyle y}es una función dada det{\displaystyle t}yy{\displaystyle y}denotado comoy(t)=F(t,y(t)){\displaystyle y'(t)=f\left(t,y(t)\right)}. Comience el proceso configurandoy0=y(t0){\ Displaystyle y_ {0} = y (t_ {0})}A continuación, elige un valor.h{\displaystyle h}para el tamaño de cada paso a lo largo del eje t, y establecertnorte=t0+norteh{\displaystyle t_{n}=t_{0}+nh}(o equivalentementetnorte+1=tnorte+h{\displaystyle t_{n+1}=t_{n}+h}). Ahora, el método de Euler se utiliza para encontrarynorte+1{\displaystyle y_{n+1}}deynorte{\displaystyle y_{n}}ytnorte{\displaystyle t_{n}}: [ 3 ]

ynorte+1=ynorte+hF(tnorte,ynorte).{\displaystyle y_{n+1}=y_{n}+hf(t_{n},y_{n}).}

El valor deynorte{\displaystyle y_{n}}es una aproximación de la solución en el tiempotnorte{\displaystyle t_{n}}, es decir,ynortey(tnorte){\displaystyle y_{n}\approx y(t_{n})}El método de Euler es explícito , es decir, la soluciónynorte+1{\displaystyle y_{n+1}}es una función explícita deyi{\displaystyle y_{i}}parainorte{\displaystyle i\leq n}.

Proceso de orden superior

Mientras que el método de Euler integra una EDO de primer orden, cualquier EDO de ordennorte{\displaystyle N}puede representarse como un sistema de EDO de primer orden. Cuando se da la EDO de ordennorte{\displaystyle N}definido como

y(norte+1)(t)=F(t,y(t),y(t),,y(norte)(t)),{\displaystyle y^{(N+1)}(t)=f\left(t,y(t),y'(t),\ldots ,y^{(N)}(t)\right),}

así comoh{\displaystyle h},t0{\displaystyle t_{0}}, yy0,y0,,y0(norte){\displaystyle y_{0},y'_{0},\dots,y_{0}^{(N)}}Implementamos la siguiente fórmula hasta alcanzar la aproximación de la solución a la EDO en el tiempo deseado:

yi+1=(yi+1yi+1yi+1(norte1)yi+1(norte))=(yi+hyiyi+hyiyi(norte1)+hyi(norte)yi(norte)+hF(ti,yi,yi,,yi(norte))){\displaystyle {\vec {y}}_{i+1}={\begin{pmatrix}y_{i+1}\\y'_{i+1}\\\vdots \\y_{i+1}^{(N-1)}\\y_{i+1}^{(N)}\end{pmatrix}}={\begin{pmatrix}y_{i}+h\cdot y'_{i}\\y'_{i}+h\cdot y''_{i}\\\vdots \\y_{i}^{(N-1)}+h\cdot y_{i}^{(N)}\\y_{i}^{(N)}+h\cdot f\left(t_{i},y_{i},y'_{i},\ldots ,y_{i}^{(N)}\right)\end{pmatrix}}}

Estos sistemas de primer orden pueden ser manejados por el método de Euler o, de hecho, por cualquier otro esquema para sistemas de primer orden. [ 4 ]

Ejemplo de primer orden

Dado el problema de valor inicial

y=y,y(0)=1,{\displaystyle y'=y,\quad y(0)=1,}

Nos gustaría utilizar el método de Euler para aproximary(4){\displaystyle y(4)}. [ 5 ]

Utilizando un tamaño de paso igual a 1 ( h = 1 )

(Figura 2) Ilustración de la integración numérica para la ecuacióny=y,y(0)=1.{\displaystyle y'=y,y(0)=1.}El azul es el método de Euler; el verde, el método del punto medio ; el rojo, la solución exacta.y=mit.{\displaystyle y=e^{t}.}El tamaño del paso esh=1.0.{\displaystyle h=1.0.}

El método de Euler es

ynorte+1=ynorte+hF(tnorte,ynorte).{\displaystyle y_{n+1}=y_{n}+hf(t_{n},y_{n}).}

Así que primero debemos calcularF(t0,y0){\displaystyle f(t_{0},y_{0})}En esta sencilla ecuación diferencial, la funciónF{\displaystyle f}se define porF(t,y)=y{\displaystyle f(t,y)=y}. Tenemos

F(t0,y0)=F(0,1)=1.{\displaystyle f(t_{0},y_{0})=f(0,1)=1.}

Al realizar el paso anterior, hemos encontrado la pendiente de la recta tangente a la curva solución en el punto(0,1){\displaystyle (0,1)}. Recuerde que la pendiente se define como el cambio eny{\displaystyle y}dividido por el cambio ent{\displaystyle t}, oΔyΔt{\textstyle {\frac {\Delta y}{\Delta t}}}.

El siguiente paso es multiplicar el valor anterior por el tamaño del paso.h{\displaystyle h}, que aquí consideramos igual a uno:

hF(y0)=11=1.{\displaystyle h\cdot f(y_{0})=1\cdot 1=1.}

Dado que el tamaño del paso es el cambio ent{\displaystyle t}, cuando multiplicamos el tamaño del paso y la pendiente de la tangente, obtenemos un cambio eny{\displaystyle y}valor. Este valor se suma luego al valor inicial.y{\displaystyle y}valor para obtener el siguiente valor que se utilizará para los cálculos.

y0+hF(y0)=y1=1+11=2.{\displaystyle y_{0}+hf(y_{0})=y_{1}=1+1\cdot 1=2.}

Los pasos anteriores deben repetirse para encontrary2{\displaystyle y_{2}},y3{\displaystyle y_{3}}yy4{\displaystyle y_{4}}.

y2=y1+hF(y1)=2+12=4,y3=y2+hF(y2)=4+14=8,y4=y3+hF(y3)=8+18=16.{\displaystyle {\begin{aligned}y_{2}&=y_{1}+hf(y_{1})=2+1\cdot 2=4,\\y_{3}&=y_{2}+hf(y_{2})=4+1\cdot 4=8,\\y_{4}&=y_{3}+hf(y_{3})=8+1\cdot 8=16.\end{aligned}}}

Debido a la naturaleza repetitiva de este algoritmo, puede resultar útil organizar los cálculos en forma de diagrama, como se muestra a continuación, para evitar cometer errores.

La conclusión de este cálculo es quey4=16{\displaystyle y_{4}=16}La solución exacta de la ecuación diferencial esy(t)=mit{\displaystyle y(t)=e^{t}}, entoncesy(4)=mi454.598{\displaystyle y(4)=e^{4}\approx 54.598}Aunque la aproximación del método de Euler no fue muy precisa en este caso específico, particularmente debido a un gran tamaño de paso de valor.h{\displaystyle h}Su comportamiento es cualitativamente correcto, como muestra la figura.

Utilizando otros tamaños de paso

(Figura 3) La misma ilustración parah=0,25.{\displaystyle h=0.25.}

Como se sugiere en la introducción, el método de Euler es más preciso si el tamaño del pasoh{\displaystyle h}es más pequeño. La tabla a continuación muestra el resultado con diferentes tamaños de paso. La primera fila 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 ent=4{\displaystyle t=4}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 relativamente 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, presentan un comportamiento más favorable: 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 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 implica 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 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:

y+4tyt2y(porquet)y=pecadott0=0y0=y(t0)=2y0=y(t0)=1y0=y(t0)=3h=0,5{\displaystyle {\begin{aligned}&y'''+4ty''-t^{2}y'-(\cos {t})y=\sin {t}\\&t_{0}=0\\&y_{0}=y(t_{0})=2\\&y'_{0}=y'(t_{0})=-1\\&y''_{0}=y''(t_{0})=3\\&h=0.5\end{aligned}}}

A partir de esto podemos aislar y ''' para obtener la ecuación:

y=F(t,y,y,y)=pecadot+(porquet)y+t2y4ty{\displaystyle y'''=f{\left(t,y,y',y''\right)}=\sin {t}+\left(\cos {t}\right)y+t^{2}y'-4ty''}

Usando eso podemos obtener la solución paray1{\displaystyle {\vec {y}}_{1}}: y1=(y1y1y1)=(y0y0y0)+h(y0y0F(t0,y0,y0,y0))=(213)+0,5(13pecado0+(porque0)2+02(1)403)=(1.50,54){\displaystyle {\begin{aligned}{\vec {y}}_{1}&={\begin{pmatrix}y_{1}\\y_{1}'\\y_{1}''\end{pmatrix}}={\begin{pmatrix}y_{0}\\y'_{0}\\y''_{0}\end{pmatrix}}+h{\begin{pmatrix}y'_{0}\\y''_{0}\\f{\left(t_{0},y_{0},y'_{0},y''_{0}\right)}\end{pmatrix}}\\[1ex]&={\begin{pmatrix}2\\-1\\3\end{pmatrix}}+0.5\cdot {\begin{pmatrix}-1\\3\\\sin {0}+(\cos {0})\cdot 2+0^{2}\cdot (-1)-4\cdot 0\cdot 3\end{pmatrix}}\\[1ex]&={\begin{pmatrix}1.5\\0.5\\4\end{pmatrix}}\end{aligned}}}Y utilizando la solución paray1{\displaystyle {\vec {y}}_{1}}, podemos obtener la solución paray2{\displaystyle {\vec {y}}_{2}}:y2=(y2y2y2)=(y1y1y1)+h(y1y1F(t1,y1,y1,y1))=(1.50,54)+0,5(0,54pecado0,5+(porque0,5)1.5+0,520,540,54)=(1,752.50,9604...){\displaystyle {\begin{aligned}{\vec {y}}_{2}&={\begin{pmatrix}y_{2}\\y_{2}'\\y_{2}''\end{pmatrix}}={\begin{pmatrix}y_{1}\\y'_{1}\\y''_{1}\end{pmatrix}}+h{\begin{pmatrix}y'_{1}\\y''_{1}\\f{\left(t_{1},y_{1},y'_{1},y''_{1}\right)}\end{pmatrix}}\\[1ex]&={\begin{pmatrix}1.5\\0.5\\4\end{pmatrix}}+0.5\cdot {\begin{pmatrix}0.5\\4\\\sin {0.5}+(\cos {0.5})\cdot 1.5+0.5^{2}\cdot 0.5-4\cdot 0.5\cdot 4\end{pmatrix}}\\[1ex]&={\begin{pmatrix}1.75\\2.5\\0.9604...\end{pmatrix}}\end{aligned}}}Podemos continuar este proceso utilizando la misma fórmula durante el tiempo que sea necesario para encontrar cualquiera.yi{\displaystyle {\vec {y}}_{i}}deseado.

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 el desarrollo de Taylor de la funcióny{\displaystyle y}alrededort0{\displaystyle t_{0}}: y(t0+h)=y(t0)+hy(t0)+12h2y(t0)+O(h3).{\displaystyle y(t_{0}+h)=y(t_{0})+hy'(t_{0})+{\tfrac {1}{2}}h^{2}y''(t_{0})+O\left(h^{3}\right).} La ecuación diferencial establece quey=F(t,y){\displaystyle y'=f(t,y)}Si esto se sustituye en el desarrollo de Taylor y se ignoran los términos cuadráticos y de orden superior, surge el método de Euler. [ 7 ] El desarrollo de Taylor se utiliza a continuación 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 consiste en sustituir la fórmula de diferencias finitas hacia adelante por la derivada, y(t0)y(t0+h)y(t0)h{\displaystyle y'(t_{0})\approx {\frac {y(t_{0}+h)-y(t_{0})}{h}}} en la ecuación diferencialy=F(t,y){\displaystyle y'=f(t,y)}. Nuevamente, esto produce el método de Euler. [ 8 ] Un cálculo similar conduce al método del punto medio y al método de Euler hacia atrás .
  4. Finalmente, se puede integrar la ecuación diferencial desdet0{\displaystyle t_{0}}at0+h{\displaystyle t_{0}+h}y aplicamos el teorema fundamental del cálculo para obtener: y(t0+h)y(t0)=t0t0+hF(t,y(t))dt.{\displaystyle y(t_{0}+h)-y(t_{0})=\int _{t_{0}}^{t_{0}+h}f\left(t,y(t)\right)\,\mathrm {d} t.}Ahora aproximemos la integral mediante el método del rectángulo de la izquierda (con un solo rectángulo): t0t0+hF(t,y(t))dthF(t0,y(t0)).{\displaystyle \int _{t_{0}}^{t_{0}+h}f\left(t,y(t)\right)\,\mathrm {d} t\approx hf\left(t_{0},y(t_{0})\right).} Combinando ambas ecuaciones, se obtiene nuevamente el método de Euler. [ 9 ]

Esta línea de pensamiento puede continuarse para llegar a varios métodos lineales de múltiples pasos .

Error de truncamiento local

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,y1{\displaystyle y_{1}}y la solución exacta en ese momentot1=t0+h{\displaystyle t_{1}=t_{0}+h}La solución numérica viene dada por

y1=y0+hF(t0,y0).{\displaystyle y_{1}=y_{0}+hf(t_{0},y_{0}).}

Para obtener la solución exacta, utilizamos el desarrollo de Taylor mencionado en la sección Derivación anterior:

y(t0+h)=y(t0)+hy(t0)+12h2y(t0)+O(h3).{\displaystyle y(t_{0}+h)=y(t_{0})+hy'(t_{0})+{\tfrac {1}{2}}h^{2}y''(t_{0})+{\mathcal {O}}{\left(h^{3}\right)}.}

El error de truncamiento local (LTE) introducido por el método de Euler viene dado por la diferencia entre estas ecuaciones:

LTmi=y(t0+h)y1=12h2y(t0)+O(h3).{\displaystyle \mathrm {LTE} =y(t_{0}+h)-y_{1}={\tfrac {1}{2}}h^{2}y''(t_{0})+{\mathcal {O}}{\left(h^{3}\right)}.}

Este resultado es válido siy{\displaystyle y}tiene una tercera derivada acotada. [ 10 ]

Esto demuestra que para pequeñosh{\displaystyle h}, el error de truncamiento local es aproximadamente proporcional ah2{\displaystyle h^{2}}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 pasos múltiples , 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 . Siy{\displaystyle y}tiene una segunda derivada continua, entonces existe unaξ[t0,t0+h]{\displaystyle \xi \in [t_{0},t_{0}+h]}de tal manera que [ 11 ]

LTmi=y(t0+h)y1=12h2y(ξ).{\displaystyle \mathrm {LTE} =y(t_{0}+h)-y_{1}={\tfrac {1}{2}}h^{2}y''(\xi ).}

En las expresiones anteriores para el error, la segunda derivada de la solución exacta desconociday{\displaystyle y}puede ser reemplazado por una expresión que involucre el lado derecho de la ecuación diferencial. De hecho, se deduce de la ecuacióny=F(t,y){\displaystyle y'=f(t,y)}que [ 12 ]

y(t0)=Ft(t0,y(t0))+Fy(t0,y(t0))F(t0,y(t0)).{\displaystyle y''(t_{0})={\frac {\partial f}{\partial t}}\left(t_{0},y(t_{0})\right)+{\frac {\partial f}{\partial y}}\left(t_{0},y(t_{0})\right)\,f\left(t_{0},y(t_{0})\right).}

Error de truncamiento global

El error de truncamiento global es el error en un tiempo fijo.ti{\displaystyle t_{i}}, después de la cantidad de pasos que el método necesite tomar para llegar a 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 comotit0h{\textstyle {\frac {t_{i}-t_{0}}{h}}}, que es proporcional a1h{\textstyle {\frac {1}{h}}}y el error cometido en cada paso es proporcional ah2{\displaystyle h^{2}}(véase la sección anterior). Por lo tanto, cabe esperar que el error de truncamiento global sea proporcional ah{\displaystyle h}. [ 14 ]

Este razonamiento intuitivo puede hacerse preciso. Si la solucióny{\displaystyle y}tiene una segunda derivada acotada yF{\displaystyle f}es Lipschitz continua en su segundo argumento, entonces el error de truncamiento global (denotado como|y(ti)yi|{\displaystyle |y(t_{i})-y_{i}|}) está delimitado por

|y(ti)yi|hMETRO2L(miL(tit0)1){\displaystyle \left|y(t_{i})-y_{i}\right|\leq {\frac {hM}{2L}}\left(e^{L(t_{i}-t_{0})}-1\right)}

dóndeMETRO{\displaystyle M}es una cota superior para la segunda derivada dey{\displaystyle y}en el intervalo dado yL{\displaystyle L}es la constante de Lipschitz deF{\displaystyle f}. [ 15 ] O más simplemente, cuandoy(t)=F(t,y){\displaystyle y'(t)=f(t,y)}, el valorL=máximo(|ddy[F(t,y)]|){\textstyle L={\text{max}}\left(|{\frac {d}{dy}}\left[f(t,y)\right]|\right)}(de tal manera quet{\displaystyle t}se trata como una constante). En cambio,METRO=máximo(|d2dt2[y(t)]|){\textstyle M=\max \left(\left|{\frac {d^{2}}{dt^{2}}}\left[y(t)\right]\right|\right)}donde funcióny(t){\displaystyle y(t)}es la solución exacta que solo contiene lat{\displaystyle t}variable.

La forma precisa de esta cota tiene poca importancia práctica, ya que en la mayoría de los casos la cota 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 ah{\displaystyle h}Por esta razón, se dice que el método de Euler es de primer orden. [ 17 ]

Ejemplo

Si tenemos la ecuación diferencialy=1+(ty)2{\displaystyle y'=1+(t-y)^{2}}y la solución exactay=t+1t1{\displaystyle y=t+{\frac {1}{t-1}}}y queremos encontrarMETRO{\displaystyle M}yL{\displaystyle L}para cuando2t3{\displaystyle 2\leq t\leq 3}. L=máximo|ddyF(t,y)|=máximo2t3|ddy[1+(ty)2]|=máximo2t3|2(ty)|=máximo2t3|2(t[t+1t1])|=máximo2t3|2t1|=2{\displaystyle {\begin{aligned}L&=\max \left|{\frac {d}{dy}}f(t,y)\right|=\max _{2\leq t\leq 3}\left|{\frac {d}{dy}}\left[1+\left(t-y\right)^{2}\right]\right|\\[1ex]&=\max _{2\leq t\leq 3}\left|2\left(t-y\right)\right|=\max _{2\leq t\leq 3}\left|2\left(t-\left[t+{\frac {1}{t-1}}\right]\right)\right|\\[1ex]&=\max _{2\leq t\leq 3}\left|-{\frac {2}{t-1}}\right|=2\end{aligned}}}METRO=máximo|d2dt2[y(t)]|=máximo2t3|d2dt2(t+11t)|=máximo2t3|2(t+1)3|=2{\displaystyle {\begin{aligned}M&=\max \left|{\frac {d^{2}}{dt^{2}}}\left[y(t)\right]\right|\\&=\max _{2\leq t\leq 3}\left|{\frac {d^{2}}{dt^{2}}}\left(t+{\frac {1}{1-t}}\right)\right|\\&=\max _{2\leq t\leq 3}\left|{\frac {2}{\left(-t+1\right)^{3}}}\right|=2\end{aligned}}} De esta forma podemos hallar el límite de error en t = 2,5 y h = 0,5:

límite de error=hMETRO2L(miL(tit0)1)=0,5222(mi2(2.52)1)=0,42957{\displaystyle {\begin{aligned}{\text{error bound}}&={\frac {hM}{2L}}\left(e^{L(t_{i}-t_{0})}-1\right)\\[1ex]&={\frac {0.5\cdot 2}{2\cdot 2}}\left(e^{2(2.5-2)}-1\right)=0.42957\end{aligned}}} Nótese que t 0 es igual a 2 porque es el límite inferior para t en2t3{\displaystyle 2\leq t\leq 3}.

Estabilidad numérica

(Figura 4) Solución dey=2.3y{\displaystyle y'=-2.3y}calculado con el método de Euler con tamaño de pasoh=1{\displaystyle h=1}(cuadrados azules) yh=0,7{\displaystyle h=0.7}(círculos rojos). La curva negra muestra la solución exacta.

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. y=2.3y,y(0)=1.{\displaystyle y'=-2.3y,\qquad y(0)=1.} La solución exacta esy(t)=mi2.3t{\displaystyle y(t)=e^{-2.3t}}, que se desintegra a cero comot{\displaystyle t\to \infty }Sin embargo, si se aplica el método de Euler a esta ecuación con un tamaño de pasoh=1{\displaystyle h=1}, entonces la solución numérica es cualitativamente errónea: oscila y crece (véase la figura). Esto es lo que significa ser inestable. Si se utiliza un tamaño de paso más pequeño, por ejemploh=0,7{\displaystyle h=0.7}, entonces la solución numérica decae a cero.

(Figura 5) El disco rosa muestra la región de estabilidad para el método de Euler.

Si se aplica el método de Euler a la ecuación linealy=ky{\displaystyle y'=ky}, entonces la solución numérica es inestable si el productohk{\displaystyle hk}está fuera de la región {zdo||z+1|1},{\displaystyle \left\{z\in \mathbf {C} \,{\big |}\,|z+1|\leq 1\right\},} ilustrado a la derecha. Esta región se denomina región de estabilidad (lineal) . [ 18 ] En el ejemplo,k=2.3{\displaystyle k=-2.3}, entonces sih=1{\displaystyle h=1}entonceshk=2.3{\displaystyle hk=-2.3}lo cual 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 de error conh{\displaystyle h}Esto significa que el método de Euler no se usa con frecuencia, salvo como un ejemplo sencillo de integración numérica . A menudo, 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 relevantes para la solución global, la inestabilidad que pueden generar implica que se requeriría un paso de tiempo excepcionalmente pequeño si se utiliza el método de Euler.

Errores de redondeo

Al pasonorte{\displaystyle n}del método de Euler, el error de redondeo es aproximadamente de la magnitudεynorte{\displaystyle \varepsilon y_{n}}dóndeε{\displaystyle \varepsilon }es el épsilon de la máquina . Suponiendo que los errores de redondeo son variables aleatorias independientes, el error total de redondeo esperado es proporcional aεh{\textstyle {\frac {\varepsilon }{\sqrt {h}}}}[ 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 extensiones

Una modificación sencilla del método de Euler que elimina los problemas de estabilidad mencionados anteriormente es el método de Euler hacia atrás : ynorte+1=ynorte+hF(tnorte+1,ynorte+1).{\displaystyle y_{n+1}=y_{n}+hf(t_{n+1},y_{n+1}).} Esto difiere del método de Euler (estándar o directo) en que la funciónF{\displaystyle f}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 para el método de Euler hacia atrás tieneynorte+1{\displaystyle y_{n+1}}En 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.

Otras modificaciones del método de Euler que contribuyen a la estabilidad dan lugar al método de Euler exponencial o al método de Euler semiimplícito .

Los métodos más complejos pueden alcanzar un orden superior (y mayor precisión). Una posibilidad es utilizar más evaluaciones de la función. Esto se ilustra con el método del punto medio , que ya se menciona en este artículo: ynorte+1=ynorte+hF(tnorte+12h,ynorte+12hF(tnorte,ynorte)).{\displaystyle y_{n+1}=y_{n}+hf\left(t_{n}+{\tfrac {1}{2}}h,y_{n}+{\tfrac {1}{2}}hf(t_{n},y_{n})\right).} Esto da lugar a la familia de métodos de Runge-Kutta .

La otra posibilidad es utilizar más valores pasados, como lo ilustra el método de dos pasos de Adams-Bashforth: ynorte+1=ynorte+32hF(tnorte,ynorte)12hF(tnorte1,ynorte1).{\displaystyle y_{n+1}=y_{n}+{\tfrac {3}{2}}hf(t_{n},y_{n})-{\tfrac {1}{2}}hf(t_{n-1},y_{n-1}).} Esto da lugar a la familia de métodos lineales multipaso . Existen otras modificaciones que utilizan técnicas de detección compresiva para minimizar el uso de memoria [ 21 ].

En la película Figuras ocultas , Katherine Johnson recurre al método de Euler para calcular la reentrada del astronauta John Glenn desde la órbita terrestre. [ 22 ]

Véase también

Notas

  1. Butcher 2003 , pág. 45 ; Hairer, Nørsett y Wanner 1993 , pág. 35  
  2. Atkinson 1989 , pág. 342 ; Butcher 2003 , pág. 60  
  3. Butcher 2003 , pág. 45 ; Hairer, Nørsett y Wanner 1993 , pág. 36  
  4. Butcher 2003 , pág. 3 ; Hairer, Nørsett y Wanner 1993 , pág. 2  
  5. Véase también Atkinson 1989 , pág. 344 
  6. ^ Hairer, Nørsett y Wanner 1993 , pág. 40 
  7. Atkinson 1989 , pág. 342; Hairer, Nørsett y Wanner 1993 , pág. 36
  8. Atkinson 1989 , pág. 342
  9. Atkinson 1989 , pág. 343
  10. Butcher 2003 , pág. 60 
  11. Atkinson 1989 , pág. 342 
  12. Stoer y Bulirsch 2002 , pág. 474 
  13. Atkinson 1989 , pág. 344 
  14. Butcher 2003 , pág. 49 
  15. ^ Atkinson 1989 , pág. 346 ; Lakoba 2012 , ecuación (1.16) 
  16. Iserles 1996 , pág. 7 
  17. Butcher 2003 , pág. 63 
  18. Butcher 2003 , pág. 70 ; Iserles 1996 , pág. 57  
  19. Butcher 2003 , págs. 74–75 
  20. Butcher 2003 , págs. 75–78 
  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) . pp. 79–84 . doi : 10.1109/CSPA.2017.8064928 . ISBN  978-1-5090-1184-1. S2CID 13082456 . 
  22. Khan, Amina (9 de enero de 2017). "Conozca a la matemática de 'Figuras ocultas' que ayudó a enviar estadounidenses al espacio" . Los Angeles Times . Consultado el 12 de febrero de 2017 .

Referencias

  • Atkinson, Kendall A. (1989). Introducción al análisis numérico (2.ª  ed.). Nueva York: John Wiley & Sons . ISBN 978-0-471-50023-0.
  • Ascher, Uri M.; Petzold, Linda R. (1998). Métodos informáticos para ecuaciones diferenciales ordinarias y ecuaciones diferenciales-algebraicas . Filadelfia: Society for Industrial and Applied Mathematics . ISBN 978-0-89871-412-8.
  • Butcher, John C. (2003). Métodos numéricos para ecuaciones diferenciales ordinarias . Nueva York: John Wiley & Sons . ISBN 978-0-471-96758-3.
  • 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.
  • Iserles, Arieh (1996). Un primer curso de análisis numérico de ecuaciones diferenciales . Cambridge University Press . ISBN 978-0-521-55655-2.
  • 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 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 . pp. 79–84 . doi : 10.1109/CSPA.2017.8064928 . ISBN  978-1-5090-1184-1. S2CID 13082456 .