数值计算课后答案6
- 格式:doc
- 大小:194.04 KB
- 文档页数:5
习 题 六 解 答
1、在区间[0,1]上用欧拉法求解下列的初值问题,取步长h=0.1。
(1)210(1)(0)2y y y '⎧=--⎨=⎩(2)sin (0)0
x y x e y -'⎧=+⎨=⎩ 解:取h=0.1,本初值问题的欧拉公式具体形式为 21(1)(0,1,2,)n n n y y y n +=--=L
由初值y 0=y(0)=2出发计算,所得数值结果如下: x 0=0,y 0=2;
x 1=0.1,2100(1)211y y y =--=-= x 2=0.2,2211(1)101y y y =--=-=
指出:
可以看出,实际上求出的所有数值解都是1。
2、用欧拉法和改进的欧拉法(预测-校正法)求解初值问题,取步长h=0.1。
22(00.5)
(0)1y x y x y '⎧=-≤≤⎨
=⎩
解:由预测校正公式11(,)
[(,)(,)]2n n n n n n n n y hf x y h
y f x y f x y ++⎧=+⎪
⎨=++⎪⎩n+1n+1y y , 取h=0.1,本初值问题的预测-校正公式的具体形式为 12
22
10.1(2)0.05[(2)(2)]
n
n n n n n n n y x y y x y x y ++⎧=+⨯-⎪⎨=+-+-⎪⎩n+1n+1y y 由初值y 0=y(0)=1出发计算,所得数值结果如下: x 0=0,y 0=1; x 1=0.1,
2000220001120.1(2)0.8,0.05[(2)(2)]10.05[(02)(0.120.8]0.82
y x y y x y x y =+-==+-+-=+-+-⨯=11y y
3、试导出解一阶常微分方程初值问题
000
(,)()
()y f x y x a x b y x y '==≤≤⎧⎨
=⎩
的隐式欧拉格式
111(,)(0,1,2,)n n n n y y hf x y n +++=+=L
并估计其局部截断误差。
解:在区间[x n ,x n+1]上对常微分方程y /(x)=f(x,y)两端同时积分,得
1
1(,())n n
x n n x y y f x y x dx ++-=⎰
由右矩形公式得
1
11(,())(,)n n
x n n x f x y x dx hf x y +++≈⎰
所以有差分格式
111(,)(0,1,2,)n n n n y y hf x y n +++=+=L
这是所谓隐式欧拉公式。
对于隐式欧拉法111(,)(0,1,2,)n n n n y y hf x y n +++=+=L
假定y n =y(x n ),上式右边的y n +1=y(x n +1),则
111111(,)()(,())()()n n n n n n n n n y y hf x y y x hf x y x y x hy x ++++++'=+=+=+ 将y /(x n +1) 按泰勒公式展开,上式为 11()()
()()
()[()()]n n n n n n n n y y x hy x y x hy x h y x h y x hy x ++'=+'=++'''=+++L 将y(x n +1)按泰勒公式展开,得
123
()()
()()()()2!3!
n n n n n n y x y x h h h y x hy x y x y x +=+''''''=++++L
两式相减,得
23
112
3()[()()()()]()[()()]
2!3!
()()
2!n n n n n n n n n n h h y x y y x hy x y x y x y x h y x hy x h y x O h ++'''''''''-=++++--++''=-+L L 即
2
311()()()2!
n n n h y x y y x O h ++''-=-+
所以,
211()()n n y x y O h ++-=
指出:
可以用多种方法导出,其中差商法、数值积分方法是简单的方法。 用导出。
4、验证改进的欧拉公式对任何不超过二次的多项式
2y ax bx c =++
准确成立,并说明理由。 解:因为2y ax bx c =++
所以2y ax b y ex f ''=+=+@。 记()f x ex f =+,设,0,1,2,i x ih i ==L 改进的欧拉公式为
1
1110((,)(,))2
(()())(0,1,2,)2i i i i i i i i i h y y f x y f x y h y ex f ex f i y c ++++⎧
=++⎪⎪
⎪
=++++=⎨⎪
=⎪⎪⎩
L
将上式对i 从0到n -1求和并利用初值条件得
1
1011
100221
11
000
2210
(()())2()((1))22(1)((1))2
21(2)(2(1))222(n n i i i n n i i i i n n n i i i n i h
y ex f ex f c
eh eh x x nfh c ih i h nfh c eh eh i i nfh c i i nfh c eh eh i n nfh c n n n nfh c e nh -+=--+==---===-==++++=+++=++++=++++=++++=+++=⨯-+++=∑∑∑∑∑∑∑2222)1()221
2
n n n n fnh c e nh fnh c
ex fx c ax bx c ++=++=++=++
所以,改进的欧拉法对任何不超过二次的多项式
2y ax bx c =++
准确成立。
补充题(一)
1、用欧拉公式求解初值问题
0.9(01)12(0)1
y y x x y ⎧'=-≤≤⎪
+⎨
⎪=⎩ 当x 取步长为h=0.02,用欧拉公式解初值问题0,0.02,0.04,…,0.10时的解。
2、取步长为h=0.2,用欧拉公式解初值问题
2(00.6)
(0)1
y y xy x y '⎧=--≤≤⎨
=⎩。