数值分析作业思考题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析思考题1
1、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。
2、相对误差在什么情况下可以用下式代替?
3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。
4、取
,计算
,下列方法中哪种最好?为什么?(1)(3
3-,(2)(2
7-,(3)
()3
1
3+
,(4)
()6
1
1
,(5)99-
数值实验
数值实验综述:线性代数方程组的解法是一切科学计算的基础与核心问题。求解方法大致可分为直接法和迭代法两大类。直接法——指在没有舍入误差的情况下经过有限次运算可求得方程组的精确解的方法,因此也称为精确法。当系数矩阵是方的、稠密的、无任何特殊结构的中小规模线性方程组时,Gauss消去法是目前最基本和常用的方法。如若系数矩阵具有某种特殊形式,则为了尽可能地减少计算量与存储量,需采用其他专门的方法来求解。
Gauss消去等同于矩阵的三角分解,但它存在潜在的不稳定性,故需要选主元素。对正定对称矩阵,采用平方根方法无需选主元。方程组的性态与方程组的条件数有关,对于病态的方程组必须采用特殊的方法进行求解。
数值计算方法上机题目1
1、实验1. 病态问题
实验目的:
算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
问题提出:
考虑一个高次的代数多项式
r
e x x
e
x x
**
*
**
-
==
141
.
≈)61
∏=-=
---=20
1
)()20)...(2)(1()(k k x x x x x p (E1-1)
显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简
单的)。现考虑该多项式方程的一个扰动
0)(19
=+x
x p ε (E1-2)
其中ε是一个非常小的数。这相当于是对(E1-1)中19
x 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。
实验内容:
为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数
u =roots (a )
其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程
0...1121=++++-n n n n a x a x a x a
的全部根,而函数
b=poly(v)
的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“Poly ”是两个互逆的运算函数.
ve=zeros(1,21); ve(2)=ess;
roots(poly(1:20))+ve) 上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。 实验要求:
(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数ε很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?
(2)将方程(E1-2)中的扰动项改成18
x ε或其他形式,实验中又有怎样的现象出现? (3)请从理论上分析产生这一问题的根源。注意我们可以将方程(E1-2)写成展开的形式,
0...),(1920=+-=x x x p αα
同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于α的变化更敏感?
2、实验2。多项式插值的振荡现象,即插值的龙格(Runge )现象
问题提出:
考虑在一个固定的区间上用插值逼近一个函数。显然,拉格朗日插值中使用的节点越多,插值多项式的次数就越高、自然关心插值多项式的次数增加时,)(x L n 是否也更加靠近被逼
近的函数。龙格给出的一个例子是极著名并富有启发性的。设区间]1,1[-上函数
2
2511
)(x
x f +=
实验内容:
考虑区间]1,1[-的一个等距划分,分点为
n i n
i
x i ,...,2,1,0,21=+
-= 则拉格朗日插值多项式为
∑
=+=n
i i
i
n x l x x L 02)(2511
)( 其中的)(x l i ,n i ,...,2,1,0=是n 次拉格朗日插值基函数。 实验要求:
(l )选择不断增大的分点数目,...3,2=n ,画出原函数)(x f 及插值多项式函数)(x L n 在
]1,1[-上的图像,比较并分析实验结果。
(2)选择其他的函数,例如定义在区间[-5,5]上的函数 x x g x x
x h arctan )(,1)(4
=+= 重复上述的实验看其结果如何。 (3)区间],[b a 上切比雪夫点的定义为
1,...,2,1,)1(2()12(cos 22+=⎪⎪⎭
⎫ ⎝⎛+--++=
n k n k a
b a b x k π 以121,...,,+n x x x 为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。
3、实验3。 样条插值的收敛性
问题提出:
一般的多项式插值不能保证收敛性,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,也超出了本课程的内容。通过本实验可以验证这一理论结果。
实验内容:
请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.中的函数或选择其它你有兴趣的函数,可以用 Matab 的函数 “sp line ”作此函数的三次样条插值。在较新版本的Matlab 中,还提供有spline 工具箱,你可以找到极丰富的样条工具,包括B-样条。
实验要求:
(1)随节点个数增加,比较被逼近函数和样条插值函数误差变化情况。分析所得结果