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