数值分析思考题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析思考题
1、 一个算法局部误差和整体误差的区别是什么?如何定义常微分方程数值方
法的阶?
称 ()n n n e y x y =-为某方法在点n x 的整体截断误差,设n y 是准确的,用某种方法计算n y 时产生的截断误差,称为该方法的局部截断误差。可以知道,整体误差来自于前面误差积累,而局部误差只来自于n y 的误差。如果给定方法的局部截断误差为11()
p n T O h ++=,其中p 为自然数,则称该方法是p 阶的或具有p 阶精
度。
2、 显式方法和隐式方法的优缺点分别是什么?多步法中为什么还要使用单步法?
显式方法优点:方法简单快速。
缺点:精度低。
隐式方法优点:稳定性好。
缺点:精度低,计算量大。
多步法需要多个初值来启动迭代,而初值的计算需要用到单步法。
3、 刚性问题的求解困难主要体现在哪儿?计算刚性问题的最简单的稳定方法
是什么?
了保证数值稳定性,步长h 需要足够小,但是为了反映解的完整性,x 区间又需要足够长,计算速度变慢。最简单的稳定方法就是扩大绝对稳定域。
4、分别用欧拉向前法、欧拉向后法、改进的欧拉法、经典的四阶Runge-Kutta 法、四阶Adams 方法计算下列微分方程初值问题的解。
(1)3
,12(1)0.4
dy y x x dx
x y ⎧=-≤≤⎪
⎨⎪=⎩;
(2)'109,'1011,y y z z y z =-+⎧⎨=-⎩ 满足(1)1,
(1)1,y z =⎧⎨=⎩
,12x ≤≤。 解:(1)取步长为0.1,
向前Euler 公式:3
101=0.11.(,)()n n n n n n n
y y hf x y x y x +=++-
向后Euler 公式:
4
11
11110101.(,).n n n n n n n n x y x y y hf x y x +++++++=+=
+ 改进的Euler 公式:
()113
331132
11(,),(,)2
0.10.12n n n n n n n n n n n
n n n n n n h
y y f x y f x y h f x y y x y y x x x x x ++++++=+
++⎡⎤⎣⎦⎡⎤+=+-+-⎢⎥+⎣⎦
经典的四阶Runge-Kutta 法:
11234226()n n h
y y k k k k +=+
+++
1(,)n n k f x y =
2122(,)n n h h k f x y k =+
+ 3222(,)
n n h h
k f x y k =++
43(,)n n k f x h y hk =++
四阶显示Adams 方法:
01112233555937924()
[(,)(,)(,)(,)]n n n n n n n n n n h
y y f x y f x y f x y f x y +------=+
-+- 01111122919524()
[(,)(,)(,)(,)]n n n n n n n n n n h y y f x y f x y f x y f x y +++----=++-+
(2)二元微分方程组,经典的四阶Runge-Kutta 法公式为:
11234226()n n h
y y k k k k +=+
+++ 11234226()
n n h
z z L L L L +=++++
1(,,)n n n k f x y z =
211222(,,)n n n h h h k f x y k z L =+
++ 322222(,,)
n n n h h h
k f x y k z L =+++
433(,,)n n n k f x h y hk z hL =+++
1(,,)n n n L g x y z =
211222(,,)n n n h h h L g x y k z L =+
++ 322222(,,)
n n n h h h
L g x y k z L =+++
433(,,)
n n n L g x h y hk z hL =+++
改进的欧拉即为特殊的二阶龙格-库塔,公式在此不累述,注意系数。思路同上,四点Adams 公式在此也不累述,注意前四项须由四阶龙格-库塔求得以启动迭代。
编程求解得
1=09(,,).n n n n n n
y y hf x y z z +=+
1=-01(,,).n n n n n n n
z y hg x y z y z +=+
向后Euler 公式:
1092109221....n n n y z y ++
=
-
11092121...n n
n z y z +⎛⎫=+ ⎪⎝⎭
编程求解得