常微分方程数值解法最新上机.ppt
第五章 常微分方程数值解,待求解的问题:一阶常微分方程的初值问题:,解的存在唯一性(“常微分方程”理论):只要 f(x,y)在a,b R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与 x,y 无关的常数 L 使对任意定义在 a,b 上的 y1(x)和 y2(x)都成立,则上述IVP存在唯一解。,-Eulers Method,5.2 欧拉方法,1 Eulers Method,Taylor展开法,Matlab程序:function E=euler10(a,b,N,y0)h=(b-a)/N;y=zeros(1,N+1);x=zeros(1,N+1);y(1)=y0;x=a:h:b;for i=1:N y(i+1)=y(i)+h*(y(i)-2*x(i)/y(i)endE=x,y;,Matlab程序:function E=euler10(a,b,N,y0)h=(b-a)/N;y=zeros(1,N+1);x=zeros(1,N+1);y(1)=y0;x=a:h:b;for i=1:N y(i+1)=y(i)+h*(y(i)-2*x(i)/y(i)endE=x,y;运行:E=euler10(0,1,10,1),Matlab程序:function E=euler10(fun,a,b,N,y0)h=(b-a)/N;y=zeros(1,N+1);x=zeros(1,N+1);y(1)=y0;x=a:h:b;for i=1:N y(i+1)=y(i)+h*feval(fun,x(i),y(i)endE=x,y;function z=f(x,y)z=y-2*x/y;运行:E=eluer10(f,0,1,10,1),说明,1 Eulers Method,在xn点用一阶向前差商近似一阶导数,Eulers method,比Euler方法增加的步骤,上机程序 编写要求,完成一个程序,这个程序可以实现如下功能:可以实现 Euler方法+后退Euler方法+梯形格式+改进的Euler格式+Euler两步格式;可以根据客户需要选择哪些方法;可以对所有方法的数值结果进行比较,特别是可以告知客户哪些结果比较好;可以通过对右端项函数 f 的修改,达到对新的常微分方程的进行求解。,