1 / 7
文档名称:

误差分析.doc

格式:doc   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

误差分析.doc

上传人:bjy0415 2015/10/16 文件大小:0 KB

下载得到文件列表

误差分析.doc

文档介绍

文档介绍:实验一误差分析
(病态问题)
实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
问题提出:考虑一个高次的代数多项式
显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动
其中是一个非常小的数。这相当于是对()中的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。
实验内容:为了实现方便,我们先介绍两个MATLAB函数:“roots”和“poly”。
其中若变量a存储n+1维的向量,则该函数的输出u为一个n维的向量。设a的元素依次为,则输出u的各分量是多项式方程
的全部根;而函数

的输出b是一个n+1维向量,它是以n维向量v的各分量为根的多项式的系数。可见“roots”和“poly”是两个互逆的运算函数。
上述简单的MATLAB程序便得到()的全部根,程序中的“ess”即是()中的。
实验要求:
选择充分小的ess,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何?
将方程()中的扰动项改成或其它形式,实验中又有怎样的现象出现?
(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将方程()写成展开的形式,

同时将方程的解x看成是系数的函数,考察方程的某个解关于的扰动是否敏感,与研究它关于的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于的变化更敏感?
实验过程:
第一问:
程序:
其中分别对ess在10E-16~10E-7之间进行扰动
数值实验结果及分析:
实验结果:
对的系数在10E-16到10E-7这个区间进行扰动,得到的解如下表所示:
表一:对的系数做不同的扰动得出的根
扰动项
X的19次方的系数
ess

1*10E-16
1*10E-15
1*10E-14
1*10E-13
x1





x2





x3





x4





x5





x6





x7

14