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 su interpretación es muy sencilla: el nuevo valor de la variable al tiempo se obtiene del valor de la variable al tiempo anterior incrementada por la tasa de cambio de la variable multiplicada por el incremento del tiempo . La tasa de cambio de la variable generalmente se obtiene del problema matemático, como en el caso estudiado en clase, donde
.
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
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