miércoles, 5 de enero de 2022

Método de Euler Sencillo en Scilab, múltiples ecuaciones.

Método de Euler Sencillo en Scilab

Autor : Marco Polo Jácome Toss	
Fecha:  05 de Enero del 2022
Licencia : GNU General Public License (GPL) 3.0
Plataforma : Scilab
Code : Euler Sencillo.

Para dar solución a ecuaciones diferenciales ordinarias de la forma :

$$ \frac{dy}{dx}=f\left ( x, y \right ) $$
El método de Euler consiste en encontrar iterativamente la solución de una ecuación diferencial de primer orden (EDO) y valores iniciales conocidos para un rango de valores. Partiendo de un valor inicial "Xo" y avanzando con un paso "h", se pueden obtener la solución de la siguiente manera:
$$ Y_{k+1}=Y_{k}+hf\left (x_{k},y_{k} \right ) $$
donde Y es la solución de la EDO y f es la ecuación diferencial en función de las variables independiente.

Scilab Método de Euler Sencillo.

El método de Euler Sencillo puede ser fácilmente programado en Scilab para múltiples ecuaciones diferenciales.

Primero se define la función que contendrá las ecuaciones diferenciales.

Se ha definido una EDO del tipo :

$$ \frac{dy}{dt}=f\left ( t, y \right ) $$
Algo confuso para algunos cuando no se ve la variable equis.

Segundo paso se define la ecuación el Método de Euler sencillo, observe cuidadosamente que se tiene como salida [y, x, t] y se pide (t0, tf, inicond_x, inicond_y). Para poder hacer uso de esta función es necesario definir el tiempo inicial y final de simulación como las condiciones iniciales.

Planteada la ecuación diferencial:

$$ \frac{dy}{dt}=y-t \: \: \: y\left (0 \right ) =2 $$
Se realiza el planteamiento de las condiciones iniciales:

El paso se saca mediante el tiempo inicial y final entre el número de muestras:

$$ h=\frac{t_{f}-t_{i}}{n} $$
Ahora bien, si incrementamos el número de muestras el paso será más pequeño y se obtendrá una solución más optima. Haciendo el llamado de la función:

[y, x, t] = eulersencillo(t0, tf, n, inicond_x, inicond_y)
disp([t,y'])

Graficando la solución con Scilab mediante el bloque siguiente:

Gráfica, solución EDO

Graficando se obtiene lo siguiente:

EDO_Euler_Sencillo