常微分方程数值解法欧拉格式和梯形格式的比较
PAGE
PAGE 4
年级00000班号0000学号0000专业000姓名00000实验名称000000实验类型设计型综合型创新型实验目的或要求常微分的数值解法用欧拉格式与梯形格式进行比较。
实验原理(算法流程图或者含注释的源代码)已知准确解是
首先建立准确解的函数文件function f=fun(x)f=1-exp(-5*x.^2);
欧拉格式程序如下:h=0.1;x=0:0.1:1;y=zeros(1,11);y(1)=0;for i=1:10 y(i+1)=y(i)+h*(10*x(i)*(1-y(i)));endy1=fun(x);plot(x,y,'r*',x,y1,'*-')
梯形格式程序如下:function f=funx(x,y)f=10*x.*(1-y);
h=0.1;x=0:0.1:1;y=zeros(1,11);y(1)=0;for n=1:10 x(n+1)=x(n)+h; z0=y(n)+h*feval(@funx,x(n),y(n)); for k=1:3 z1=y(n)+h/2*(feval(@funx,x(n),y(n))+feval(@funx,x(n+1),z0)); if abs(z1-z0)<1e-3 break; end z0=z1; end y(n+1)=z1;endy1=fun(x);plot(x,y,'r*',x,y1,'*-')
实验结果分析及心得体会程序运行结果如下:一、欧拉格式
-. 是真实值,* 是数值解。从图形来看还是比较接近真实解的。
这是梯形格式的数值解与真实解的图形。-. 是真实值,* 是数值解从图形看出,此题用梯形格式的数值解是非常接近真实值的。
心得体会:欧拉格式的程序较简单,对于梯形格式的数值解法,也是逐步显式的过程,用Euler方法提供迭代处置,而得到迭代公式,从而建立程序的编写过程,这是关键。从图形来看,梯形格式显然比欧拉格式更接近真实值。成绩评定
教师签名: 年 月 日