欢迎来到文档下载导航网!

数值分析实验报告1009.docx

时间:2020-12-10|当前位置:首页 > 教育文档 > 高等教育 > |用户下载:

数值分析实验报告1009.docx


本文档部分文本预览

可编辑文档 PAGE PAGE 页码页码/NUMPAGES 总页数总页数实验一 误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。.对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。.病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。.现考虑该多项式的一个扰动 其中是一个非常小的数。这相当于是对(1.1)中的系数作一个小的扰动。我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab函数:“roots”和“poly”。 其中若变量a存储n+1维的向量,则该函数的输出u为一个n维的向量。设a的元素依次为,则输出u的各分量是多项式方程 的全部根;而函数 的输出b是一个n+1维变量,它是以n维变量v的各分量为根的多项式的系数。可见“roots”和“poly”是两个互逆的运算函数。 上述简单的Matlab程序便得到(1.2)的全部根,程序中的“ess”即是(1.2)中的。 实验要求: 选择充分小的ess,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数很小,我们自然感觉(1.1)和(1.2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何? 将方程(1.2)中的扰动项改成或其它形式,实验中又有怎样的现象出现? (选作部分)请从理论上分析产生这一问题的根源。注意我们可以将方程(1.2)写成展开的形式, 同时将方程的解x看成是系数的函数,考察方程的某个解关于的扰动是否敏感,与研究它关于的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于的变化更敏感? 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); for n=2:21nfor m=1:9ess=10^(-6-m); ve=zeros(1,21);ve(n)=ess; r=roots(a+ve);-6-ms=max(abs(r-rr))end end 利用符号函数:(思考题一) a=poly(1:20); y=poly2sym(a); rr=solve(y) for n=2:21nfor m=1:8ess=10^(-6-m);ve=zeros(1,21);ve(n)=ess;a=poly(1:20)+ve;y=poly2sym(a);r=solve(y);-6-ms=max(abs(r-rr))end end 数值实验结果及分析: format long -6-m n -7 -8 -9 -10 2 2.79722687478331 1.86753632009158 1.06052762380748 0.25273144219047 3 1.69376699767424 0.92310666706964 0.08471614569741 0.40804026409411 4 0.85401393415536 0.19941022020061 0.03972935295834 0 5 0.11031100538871 0.04296532362844 0 0 6 0 0 0 0 7 0 0 0 0 8 0 0 0 0 9 0 0 0 0 10 0 0 0 0 11 0 0 0 0 12 0 0 0 0 13 0 0 0 0 14 0 0 0 0 15 0 0 0 0 16 0 0 0 0 17 0 0 0 0 18 0 0 0 0 19 0 0 0 0 20 0 0 0 0 21 0 0 0 0 -6-m n -11 -12 -13 -14 2 0.03877676439380 0.16256584868280 0.13322664013598 0 3 0.02164258317546 0 0 0 4 0 0 0 0 5 0 0 0 0 6 0 0 0 0 7 0 0 0 0 8 0 0 0 0 9 0 0 0 0 10 0 0 0 0 11 0 0 0 0 12 0 0 0 0 13 0 0 0 0 14 0 0 0 0 15 0 0 0 0 16 0 0 0 0 17 0 0 0 0 18 0 0 0 0 19 0 0 0 0 20 0 0 0 0 21 0 0 0 0 讨论: 利用这种方法进行这类实验,可以很精确的扰动敏感性的一般规律。即当对扰动项的系数越来越小时,对其多项式扰动的结果也就越来越小,即扰动敏感性与扰动项的系数成正比,扰动项的系数越大,对其根的扰动敏感性就越明显,当扰动的系数一定时,扰动敏感性与扰动的项的幂数成正比,扰动的项的幂数越高,对其根的扰动敏感性就越明显。 实验总结: 利用MATLAB来进行病态问题的实验,虽然其得出的结果是有误差的,但是可以很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号姓名:万轩 实验二 插值法 实验2.1(多项式插值的振荡现象) 问题提出:考虑一个固定的区间上用插值逼近一个函数。显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。 我们自然关心插值多项式的次数增加时,L(x)是否也更加靠近被逼近的函数。龙格给出了一个极著名例子。设区间[-1,1]上函数f(x)=1/(1+25x^2) 实验内容:考虑区间[-1,1]的一个等距划分,分点为:x(i)=-1+2i/n,i=0,1,2…,n 泽拉格朗日插值多项式为:L(x)=∑l(i)(x)/(1+25x(j)^2 ) i=0,1,…n 其中l(i)(x), i=0,1,…n,n是n次拉格朗日插值基函数。 实验要求: ⑴ 选择不断增大的分点数目n=2,3…,画出f(x)及插值多项式函数L(x)在[-1,1]上的图象,比较分析实验结果。 (2)选择其它的函数,例如定义在区间[-5,5]上的函数h(x)=x/(1+x^4) , g(x)=arctanx重复上述的实验看其结果如何。(3)区间[a,b]上切比雪夫点的定义为:xk=(b+a)/2+((b-a)/2)cos((2k-1)π/(2(n+1))),k=1,2,^,n+1以x1,x2^x(n+1)为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。 实验过程: 程序: 多项式插值的震荡现象(实验2.1) for m=1:6subplot(2,3,m) %把窗口分割成2*

继续预览文档剩余内容

温馨提示:本页预览文本内容并非错乱,是从文档中提取部分无格式预览!如您需要正常预览文档全文,请点击下方按钮↓↓↓

上一篇:2020玛氏最新题库历年真题帖子内容集合.pdf

栏    目:高等教育

下一篇:教育学参考答案(题与答案)498.docx

本文标题:数值分析实验报告1009.docx

本文地址:https://www.365weibook.com/html/20201210/467402.html

    正常预览或下载提示:

    本页面文档预览是由服务器自动提取的部分内容,并不是文档错乱。如您需要预览全文或下载文档,请点击页面左侧(点击去预览文档全文或下载文档)按钮,进行全文预览或下载。

推荐下载

联系我们 | 广告投放 |网站地图

免责申明:本网站不提供任何形式的下载服务,因此与之有关的知识产权纠纷本网站不承担任何责任。

如果侵犯了您的权利,请与我们联系,我们将进行删除处理。