El Método de Euler en Matlab

El método de Euler es un método de Runge-Kutta de orden 1. Este es el código para un programa escrito en Matlab para el problema de valores iniciales

\( \begin{matrix} y'=y \\ y(0)=1 \end{matrix} \)

Queremos saber el valor de y en t = 1. La solución obvia para este problema es

\( y(t) = e^t \) y por tanto \( y(1) = e \)

Código Matlab para el metodo de Euler: Archivo euler.m


function [y,f_calls]=euler(funcion,t0,t1,y0,h,rpar)
t=t0;
y=y0;
fc=0;

while t < t1
if t+h>t1;h=t1-t;end
k1=feval(funcion,t,y,rpar);
y=y+h*k1;
fc=fc+1;
t=t+h;
end

if nargout > 1 fcalls=fc; end

Archivo funcion.m

Este es un archivo conteniendo la función a evaluar

function[y] = funcion(x, y, rpar)
u=x;

Ejecución


Guardamos los dos archivos en el mismo directorio, y desde la consola de Matlab nos desplazamos a ese directorio. Ejecutamos el siguiente comando desde la consola

>>y = euler('funcion', 0, 1, y0, 0.01,0);

Ahora tenemos el resultado almacenado en la variable y, para verla simplemente ejecutamos

>> y

y eso nos produce el resultado

y = 2.7048...

Ejectua aquí el método de Euler en The Runge kutta calculator





Ha sido util? Alguna idea para complementar el texto?



Deja tu post

Comentarios de otros usuarios





Deja tu post
Update cookies preferences