数值计算课后答案6

  • 格式:doc
  • 大小:194.04 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习 题 六 解 答

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 '⎧=--≤≤⎨

=⎩。