Lab: Introducción Método de Euler

En el laboratorio de hoy discutimos el método de Euler para resolver ecuaciones diferenciales lineales de primer grado y una implementación en Octave/MATLAB. El método de Euler con diferencias finitas es

y_{i+1}=y_i + \frac{dy_i}{dt} \Delta t

y su interpretación es muy sencilla: el nuevo valor de la variable y al tiempo t+dt se obtiene del valor de la variable al tiempo anterior y_i incrementada por la tasa de cambio de la variable multiplicada por el incremento del tiempo \frac{dy}{dt}\Delta t. La tasa de cambio de la variable generalmente se obtiene del problema matemático, como en el caso estudiado en clase, donde

\frac{dy}{dt}= g - \frac{c}{m} y .

La implementación del método de Euler con diferencias finitas en Octave/MATLAB se puede encontrar en los archivos al final de esta nota. Sientan la libertad de usarlo para la tarea asignada, aunque les recomiendo que lo estudien y lo traten de entender a fondo, sobre todo si no tienen experiencia programando. Cualquier pregunta pueden consultarme por este medio o por correo electrónico.

Material complementario

Archivos

Los archivos tienen extensión .doc y pueden abrirse en Word o OpenOffice, sin embargo para poder evaluarlos directamente desde Octave tienen que cambiar la extensión a .m

euler,dy

Código

Este es el código inicial del cual partimos. Para familiarizarse pueden ingresar cada línea y ver que sucede en Octave.

% variables
g=9.8;
m=68.1;
cd=12.5;
ti=0;
tf=2;
vi=0;
dt=0.1;
t=ti;
v=vi;
h=dt;
% iteración
while(1)             % inicio de la iteración
if t+dt > tf
h=tf-t;
end
dvdt=g-(cd/m)*v;     % tasa de cambio de la variable al tiempo actual
v=v+dvdt*h;          % metodo de euler para avanzar la velocidad
t=t+h;               % actualiza el tiempo
if t>=tf,break,end   % condicion para detener la iteración
end
v

Leave a comment