数值计算上机实验设计题一)(设计题一)
实验名称:实验名称:Euler方法与改进的Euler方法小组成员及题号:洪媛媛陈昌利梁静小组成员及题号:1洪媛媛2陈昌利3梁静4王鑫5万小倩6沈杰王万小倩沈杰7欧荣军8蒋文燕欧荣军蒋文燕
f实验报告
一、实验问题求初值问题的数值解。:要求:(1)用Euler方法和改进的Euler方法求常微分方程数值解,取h002,并输出
xi002ii012345处的数值解yi。
(2)分析两种算法的结果。二、算法语言:Matlab编程代码1Euler方法x1x0y1y0hh0Nbahfor
1Ny
1y
hfx
y
x
1x
he
dfor
1mx
y
e
dholdo
for
1N1plotx
y
re
duahbvguplotuvbholdoff
2改进的Euler方法x1x0y1y0hh0Nbahfor
1Nypy
hfx
y
fx
1x
hycy
hfx
1ypy
1ypyc2e
dfor
1mx
y
e
dholdo
for
1N1plotx
y
re
duahbvguplotuvbholdoff3求微分方程的符号解dsolve‘eq1eq2…’’co
d1co
d2…’’u’
算法步骤叙述;Euler格式的实现过程Step1:输入必要的初始数据x0by0hStep2:输出x0y0Step3:对x0b循环求y1值x1←x0hy1y0hfx0y0输出x1y1x0←x1y0←y1Step4:结束循环
三、
改进Euler格式的实现过程Step1:输入必要的初始数据x0by0hStep2:输出x0y0Step3:对x0b循环求y1值x1←x0hk1y0hfx0y0k2y0hfx1k1y1k1k22输出x1y1x0←x1y0←y1Step4:结束循环
四、变量说明:x0:自变量初值y0:函数初值h0:步长a:自变量取值下限b:自变量取值上限m:已知条件中需要求解的近似解的个数f:一阶常微分方程的一般表达式的右端函数u:自变量gu:一阶常微分方程的符号解eq1、eq2:指定的常微分方程
fco
d1、co
d2:初始条件
五、程序清单:1dsolveDyxyy01xx10y11h002for
110y
1y
hx
y
x
1x
he
dfor
16x
y
e
dholdo
for
111plotx
y
re
du000202v2expuu1plotuvbholdoff
x10y11h002for
110ypy
hx
y
x
1x
hycy
hx
1ypy
1ypyc2e
dfor
16x
y
e
dholdo
for
111plotx
y
re
du000202v2expuu1plotuvbholdoffplotuvbholdoffx10y11h002for
110ypy
hy
2x
y
x
1x
hycy
hyp2x
1ypy
1ypyc2e
dfor
16x
y
e
dholdo
for
111plotx
y
r
2dsolveDyy2xyy01xx10y11h002for
110y
1y
hy
2x
y
x
1x
he
dfor
16x
y
e
dholdo
for
111plotxr