常微分方程數值解法欧拉格式与梯形格式的比较
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)));
end
y1=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;
end
y1=fun(x);
plot(x,y,'r*',x,y1,'*-')
实
验
结
果
分
析
及
心
得
体
会
程序运行结果如下:
一、欧拉格式
-. 是真实值,* 是数值解。从图形来看还是比较接近真实解的。
这是梯形格式的数值解与真实解的图形。-. 是真实值,* 是数值解
从图形看出,此题用梯形格式的数值解是非常接近真实值的。
心得体会:
欧拉格式的程序较简单,对于梯形格式的数值解法,也是逐步显式的过程,用Euler方法提供迭代处置,而得到迭代公式,从而建立程序的编写过程,这是关键。
从图形来看,梯形格式显然比欧拉格式更接近真实值。
成
绩
评
定
教师签名:
年 月 日