%用途:4阶经典龙格库塔格式解常微分方程组y’=f(x,y),y(x0)=y0
%格式:[x,y]=marunge4s(dyfun,xspan,y0,h)
%dyfun为向量函数f(x,y),xspan为求解区间[x0,xn],
%init为初值向量,N为步数,x返回节点,y返回数值解向量
function[x,y]=marunge4s(dyfun,xspan,init,h)
% h=(xspan(1)-xspan(2))/N;
x=xspan(1):h:xspan(2);
y=zeros(length(init),length(x));
y(:,1)=init(😃;
for n=1:(length(x)-1)
k1=feval(dyfun,x(n),y(:,n));
k2=feval(dyfun,x(n)+h/2,y(:,n)+h/2k1);
k3=feval(dyfun,x(n)+h/2,y(:,n)+h/2k2);
k4=feval(dyfun,x(n+1),y(:,n)+hk3);
y(:,n+1)=y(:,n)+(h/6).(k1+2k2+3k3+k4);
end
4阶经典龙格库塔格式
于 2021-04-03 20:47:22 首次发布