Análisis numérico de Matlab ecuación diferencial ordinaria valor límite inicial problema solución numérica estándar Runge Kuta fórmula de cuatro etapas de cuarto orden método de Euler
1. Fórmula estándar de cuatro etapas de cuarto orden de Runge Kuta
function y=rk4(fun,a,b,y0,n)
h=(b-a)/n;
y(1)=y0;
for k=1:n
x=a+(k-1)*h;
k1=h*feval(fun,x,y(k));
k2=h*feval(fun,x+h/2,y(k)+k1/2);
k3=h*feval(fun,x+h/2,y(k)+k2/2);
k4=h*feval(fun,x+h,y(k)+k3);
y(k+1)=y(k)+(k1+2*k2+2*k3+k4)/6;
end
Archivo de función
function u=frk4(x,y)
u=y-2*x/y;
Programa de llamada
y=rk4(@frk4,0,1,1,10)
2 método de Euler
function y=euler(f,a,b,y0,h)
n=(b-a)/h;
y(1)=y0;
for i=1:n
x(i)=a+(i-1)*h;
y(i+1)=h*feval(f,x(i),y(i));
end
Archivo de función
function u=feuler(x,y)
u=x^3-y/x;
Programa de llamada
y=euler(@feuler,1,2,0.4,0.2)