Método de Euler
# Método de Euler

En matemática y computación, el método de Euler, llamado así en honor a Leonhard Euler, es un procedimiento de integración numérica para resolver ecuaciones diferenciales ordinarias (EDO) a partir de un valor inicial dado. El método de Euler es el más simple de los métodos numéricos para resolver un problema de valor inicial, y el más simple de los Métodos de Runge-Kutta. El método de Euler es nombrado por Leonhard Euler, quien lo trató en su libro Institutionum calculi integralis (publicado en 1768-1770).

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.

## Descripción informal

Considere el problema de calcular la pendiente de una curva desconocida que comienza en un punto dado y satisface una cierta ecuación diferencial dada. Se puede pensar en la ecuación diferencial como una fórmula que nos permite calcular la pendiente de la recta tangente a la curva en cualquier punto de la curva, una vez que el punto ha sido calculado.

La idea es que a pesar de que la curva es desconocida en un principio, su punto de comienzo, al cual denotamos por $A_0,$ es conocido. Entonces, de la ecuación diferencial se puede calcular la pendiente de la curva en el punto $A_0$ y por lo tanto la recta tangente a la curva.

Ahora, dando un pequeño paso sobre dicha recta, podemos tomarnos un nuevo punto $A_1$ y suponer que dicho punto pertenece a la curva, entonces seguimos el mismo razonamiento aplicado anteriormente y volvemos a calcular la pendiente de la recta tangente a la curva en el punto $A_1.$ Luego de varios pasos tendremos formada una curva poligonal $A_0A_1A_2A_3...$ En general esta curva que obtenemos al aplicar el método no diverge lejos de la curva original, además el error entre ambas curvas se puede minimizar si se dan pasos muy pequeños al avanzar sobre la recta tangente a la curva y además el intervalo sobre el que trabajamos es finito (aunque las cosas son más complicadas para ecuaciones inestables, como se discute más abajo)...

## Procedimiento

Consiste en dividir los intervalos que va de $x_{0}\,$ a $x_{f}\,$ en $n\,$ subintervalos de ancho $h\,$; o sea:

   $h={x_{f}-x_{0} \over n}\,$

de manera que se obtiene un conjunto discreto de $n+1\,$ puntos: $x_{0},x_{1},x_{2},\cdots ,x_{n}\,$ del intervalo de interés $[x_{0},x_{f}]\,$. Para cualquiera de estos puntos se cumple que:

   $x_{i}={x_{0}+ih}\qquad 0\leq i\leq n\,$.

La condición inicial $y(x_{0})=y_{0}\,$, representa el punto $P_{0}=(x_{0},y_{0})\,$ por donde pasa la curva solución de la ecuación del planteamiento inicial, la cual se denotará como $F(x)=y\,$. Ya teniendo el punto $P_{0}\,$ se puede evaluar la primera derivada de $F(x)\,$ en ese punto; por lo tanto:

   $F'(x)={\left.{\frac {dy}{dx}}\right\vert }_{P_{0}}=f(x_{0},y_{0})$

Con esta información se traza una recta, aquella que pasa por $P_{0}\,$ y de pendiente $f(x_{0},y_{0})\,$. Esta recta aproxima $F(x)\,$ en una vecindad de $x_{0}\,$. Tómese la recta como reemplazo de $F(x)\,$ y localícese en ella (la recta) el valor de $y\,$ correspondiente a $x_{1}\,$. Entonces, podemos deducir según la Gráfica A:

   ${y_{1}-y_{0} \over x_{1}-x_{0}}=f(x_{0},y_{0})\,$

Se resuelve para $y_{1}\,$:

   $y_{1}=y_{0}+(x_{1}-x_{0})f(x_{0},y_{0})=y_{0}+hf(x_{0},y_{0})\,$

Es evidente que la ordenada $y_{1}\,$ calculada de esta manera no es igual a $F(x_{1})\,$, pues existe un pequeño error. Sin embargo, el valor $y_{1}\,$ sirve para que se aproxime $F'(x)\,$ en el punto $P=(x_{1},y_{1})\,$ y repetir el procedimiento anterior a fin de generar la sucesión de aproximaciones siguiente:

   ${\begin{array}{crl}y_{1}=y_{0}+hf(x_{0},y_{0})\\y_{2}=y_{1}+hf(x_{1},y_{1})\\.\\.\\.\\y_{i+1}=y_{i}+hf(x_{i},y_{i})\\.\\.\\.\\y_{n}=y_{n-1}+hf(x_{n-1},y_{n-1})\\\end{array}}\quad \,$

## Ejemplo

   ${\text{PVI}}=\left\{{\begin{array}{rcl}{dy \over dx}=\sin x-\ln y\\y(0.13)=0.32\\y(0.14)=?\end{array}}\right.$

En primer lugar se calcula el valor de $h\,$ tomando en cuenta que el número de pasos $n\,$ es $4\,$; por lo tanto quedaría así:

   $h={\frac {0.14-0.13}{4}}=0.0025\;$

Antes de aplicar el método, veamos un esquema de cómo trabajaría el método en este caso concreto:

   ${\begin{array}{|c||c|c|}\hline {dy \over dx}&x&y\\\hline &x_{0}&y_{0}\\\hline f(x_{0},y_{0})=\sin(x_{0})-\ln(y_{0})&x_{1}=x_{0}+h&y_{1}=y_{0}+h\cdot f(x_{0},y_{0})\\\hline f(x_{1},y_{1})=\sin(x_{1})-\ln(y_{1})&x_{2}=x_{1}+h&y_{2}=y_{1}+h\cdot f(x_{1},y_{1})\\\hline f(x_{2},y_{2})=\sin(x_{2})-\ln(y_{2})&x_{3}=x_{2}+h&y_{3}=y_{2}+h\cdot f(x_{2},y_{2})\\\hline f(x_{3},y_{3})=\sin(x_{3})-\ln(y_{3})&x_{4}=x_{3}+h&y_{4}=y_{3}+h\cdot f(x_{3},y_{3})\\\hline \end{array}}$

Los valores iniciales de $x\,$ y $y\,$ vienen dados por:

   $x_{0}=0.13\,$, $y_{0}=0.32\,$.

Teniendo dichos valores se comienza con el método. Se harán aproximaciones de hasta ocho decimales. La función seno se evaluará en radianes.

   ${\begin{array}{|c||c|c|}\hline {dy \over dx}&x&y\\\hline &0.13&0.32\\\hline 1.269068&0.1325&0.323172\\\hline 1.261681&0.135&0.326326\\\hline 1.254446&0.1375&0.329462\\\hline 1.247358&0.14&0.33258138\\\hline \end{array}}$

Por lo que el resultado obtenido es: $y_{4}=0.33258138\,$. Conociendo el valor exacto de la ecuación en ese punto, $y=0.3325459\,$, se puede calcular el error relativo cometido por el método:

   $\varepsilon _{r}=\left|{\begin{array}{rcl}{\cfrac {0.33258138-0.3325459}{0.3325459}}\cdot 100\\\end{array}}\right|=1.064364\cdot 10^{-2}\,\%$

## Análisis de error para el método de Euler

La solución de las ecuaciones diferenciales por medio de métodos numéricos involucra varios tipos de errores:

* Error del método (Error de Truncamiento Local y Global): este se debe a que, cómo la aproximación de una curva mediante una línea recta no es exacta, se comete un error propio del método. En este caso, el error es de primer orden - $O(h^1)$ -
* Local: Es la diferencia que se produce entre el valor real de la función y el aproximado mediante la recta tangente -en lugar de moverse por la curva- suponiendo que el punto desde el que partimos -donde se cruzan la curva real y la recta que la aproxima- no tiene error alguno.
* Propagado: Acumulación de errores por las aproximaciones producidas durante los pasos previos acumuladas. Es decir, ya no se supone que el punto del cual partimos -donde se cruzan la curva real y la recta que la aproxima- no tenía error sino que asumimos que dicho error existe y que se propaga de paso en paso. Dicha propagación es, en el peor de los casos, lineal.

La suma de los dos es el error global.

* Redondeo/truncamiento: Resultado del número límite de cifras significativas que puede retener una computadora. Ya que el número de dígitos utilizados para hacer los cálculos es finito y los números representados puede que no lo sean (es decir, números con infinita cantidad de dígitos). Al limitar los números con infinita cantidad de dígitos -mediante truncamiento o redondeo- a números con finita cantidad de dígitos estamos cometiendo un error extra.

Como se muestra en la Gráfica B, básicamente el método se encarga de aproximar la curva $y=F(x)\,$ por medio de una serie de segmentos en recta.

Debido a que la aproximación de una curva por medio de una línea recta no es exacta, se comete un error derivado del método. A este error se le conoce como error de truncamiento. Este error se puede disminuir reduciendo el valor de $h\,$, pero se obtendrá un mayor número de cálculos y, por consiguiente, un error de redondeo mucho más alto.

