sábado, 7 de noviembre de 2015

Implementación del método de Euler en MATLAB


Para implementar el método de Euler para ecuaciones diferenciales, se debe crear un script en MATLAB en el cual se deberá vaciar el siguiente código.

function Z=meteuler(n,a,b,y0,x0,P)
Z=0
h=(b-a)/n;
x=zeros(1,n+1)
y=zeros(1,n+1)
x(1)=x0;
y(1)=y0;
x=a:h:b
for i=1:n
y(i+1)=y(i)+h*((P(x(i),y(i))))
end;
Z=[x' y']
plot(x,y,'r')
grid on
hold on
plot (x, P(x,y),'b')
L=P(x,y)
hold on
%plot (1.1,P(1.1,y(1.1)),'*k')
%Cienciaparacualquiera.blogspot.mx
%plot (x,P(x,y))
title('grafica solucion, azul= derivada, rojo=Ec. original')
%Blue plot= Derivative.
%Red plot= Original equation.


Para continuar, el siguiente programa debe ser desarrollado en un nuevo script

%programa principal Euler
%Cienciaparacualquiera.blogspot.mx
%a=intervalo inferior (Lower interval)
%b=intervalo superior (Upper interval)
%n= numero de iteraciones ( number of iterations)
%x0= primer valor de x (es igual al valor de a) (First value of x, which is equal to "a")
%y0= valor de y cuando x=0 (Initial condition for y)
a=0
b=1
n=10
x0=a
h=0.1
x=(0:h:1)
y0=0
P=@(x,y)(cos(x));
Z=meteuler(n,a,b,y0,x0,P,h)
hold on

Importante
  • El usuario debe vaciar los datos necesarios en el programa principal.
  • El programa principal contiene los datos para graficar la ecuación diferencial y'=cos(x), la cual se muestra de color azul, mientras que la ecuación original (solución) se muestra de color rojo, los datos pueden ser sustituidos de la manera que el usuario disponga.
  • Es importante tomar en cuenta que el método de Euler no ofrece una solución para una ecuación diferencial, es decir, no es posible encontrar la ecuación original a través de este método, sin embargo, este método nos ofrece una buena aproximación de la gráfica de la función original. 
  • Recuerda guardar ambos scripts en la misma carpeta, de lo contrario MATLAB no podrá llevar a cabo el procedimiento y arrojara un error. 
Si quieres comprender más acerca de las ecuaciones diferenciales, revisa la siguiente entrada 
http://cienciaparacualquiera.blogspot.mx/2015/10/ecuaciones-diferenciales.html

.