基于Matlab的计算方法中常用的算法程序

源代码在线查看: milne.m

软件大小: 8 K
上传用户: eeworm
关键词: Matlab 计算方法 算法 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				function s=Milne(fun,x0,xn,y0,n)
				  % 用线性多步法计算常微分方程初值问题
				  % x0为初值条件y(x0)=y0中的x0,y0为初值条件中的y0
				  % xn为x取值区间的最后一个节点的横坐标值
				  % n为把区间分成的等份数
				  if nargin				      error
				      return
				  end
				  h=(xn-x0)/n;
				  y(1)=y0;
				  xx=x0;
				  % 先用改进的Euler方法计算前4个y的初值
				  for i=1:3
				      yp=y(i)+h*feval(fun,xx,y(i));
				      xx=x0+i*h;
				      yc=y(i)+h*feval(fun,xx,yp);
				      y(i+1)=(yp+yc)/2;
				  end
				  % 然后利用Milne公式计算最后的解
				  for i=1:n
				      xx=x0+i*h;
				      t1=2*feval(fun,xx,y(i+1));
				      t2=-feval(fun,(xx+h),y(i+2));
				      t3=2*feval(fun,(xx+2*h),y(i+3));
				      y(i+4)=y(i)+4/3*h*(t1+t2+t3);
				  end
				  s=y(n);
				  return			

相关资源