数值分析实验报告1

上传人:汽*** 文档编号:506451412 上传时间:2024-02-16 格式:DOCX 页数:27 大小:381.22KB
返回 下载 相关 举报
数值分析实验报告1_第1页
第1页 / 共27页
数值分析实验报告1_第2页
第2页 / 共27页
数值分析实验报告1_第3页
第3页 / 共27页
数值分析实验报告1_第4页
第4页 / 共27页
数值分析实验报告1_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数值分析实验报告1》由会员分享,可在线阅读,更多相关《数值分析实验报告1(27页珍藏版)》请在金锄头文库上搜索。

1、WORD格式数值分析实验报告实验一误差分析实验 1.1 病态问题实验目的:算法有“优与“劣之分,问题也有“好与“坏之别。对数值方法的研究而言, 所谓坏问题就是问题本身对扰动敏感者, 反之属于好问题。通过本实验可获得一个初步体会。数值分析的大局部研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。 病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价 如耗用更多的机器时间、 占用更多的存储空间等。问题提出:考虑一个高次的代数多项式20p(x) ( x 1)( x 2) ( x 20)(x k )(1.1)k1显然该多项式的全部根为 1,2,20 共计

2、20 个,且每个根都是单重的。现考虑该多项式的一个扰动p( x)x190(1.2)其中是一个非常小的数。这相当于是对1.1中x19的系数作一个小的扰动。我们希望比较 1.1和 1.2根的差异,从而分析方程 1.1的解对扰动的敏感性。实验内容: 为了实现方便,我们先介绍两个Matlab 函数:“roots和“ poly。uroots(a)其中假设变量 a 存储 n+1 维的向量,那么该函数的输出 u 为一个 n 维的向量。设 a 的元素依次为 a1, a2 , , an 1,那么输出 u 的各分量是多项式方程a1 xna2 xn 1an xan 10的全部根;而函数bpoly(v)的输出 b 是

3、一个 n+1 维变量,它是以n 维变量 v 的各分量为根的多项式的系数。可见“ roots和“ poly是两个互逆的运算函数。ess0.000000001;vezeros(1,21);ve(2)ess;专业资料整理WORD格式0专业资料整理WORD格式数值分析实验报告roots ( poly (1: 20)ve)上述简单的 Matlab 程序便得到 1.2的全部根,程序中的“ ess即是 1.2中的 。实验要求:1选择充分小的 ess,反复进展上述实验,记录结果的变化并分析它们。如果扰动项的系数 很小,我们自然感觉 1.1和 1.2的解应当相差很小。计算中你有什么出乎意料的发现?说明有些解关于

4、如此的扰动敏感性如何?2将方程 1.2中的扰动项改成x18或其它形式,实验中又有怎样的现象出现?3选作局部请从理论上分析产生这一问题的根源。注意我们可以将方程 1.2写成展开的形式,p( x,)x20x190(1.3)同时将方程的解x 看成是系数的函数,考察方程的某个解关于的扰动是否敏感,与研究它关于 的导数的大小有何关系?为什么?你发现了什么现象,哪些根关于 的变化更敏感?思考题一:上述实验的改进在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数 solve 来提高解的准确度, 这需要用到将多项式转换为符号多项式的函数 poly2sym, 函数的具体使

5、用方法可参考 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)endend利用符号函数:思考题一a=poly(1:20);专业资料整理WORD格式1专业资料整理WORD格式数值分析实验报告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)

6、+ve;y=poly2sym(a);r=solve(y);-6-ms=max(abs(r-rr)endend数值实验结果及分析:format long-6-m-7-8-9-10n2 2.79722687478331 1.86753632021158 1.06052762380748 0.252731442190473 1.69376699767424 0.92310666706964 0.08471614569741 0.4080402640941140.854013934155360.199410220210610.03972935295834050.110311005388710.0429

7、65323628440060000700008000090000100000110000120000130000140000150000160000170000180000190000200000210000-6-m-11-12-13-14n专业资料整理WORD格式2专业资料整理WORD格式数值分析实验报告20.038776764393800.162565848682800.13322664013598030.021642583175460004000050000600007000080000900001000001100001200001300001400001500001600001700

8、00180000190000200000210000讨论:利用这种方法进展这类实验, 可以很准确的扰动敏感性的一般规律。 即当对扰动项的系数越来越小时, 对其多项式扰动的结果也就越来越小, 即扰动敏感性与扰动项的系数成正比, 扰动项的系数越大, 对其根的扰动敏感性就越明显, 当扰动的系数一定时, 扰动敏感性与扰动的项的幂数成正比, 扰动的项的幂数越高, 对其根的扰动敏感性就越明显。实验总结:利用 MATLAB 来进展病态问题的实验,虽然其得出的结果是有误差的,但是可以很容易的得出对一个屡次的代数多项式的其中某一项进展很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于 M

9、ATLAB 来进展问题的分析。学号: 06450210专业资料整理WORD格式3专业资料整理WORD格式数值分析实验报告*:万轩实验二插值法实验 2.1 多项式插值的振荡现象问题提出 :考虑一个固定的区间上用插值逼近一个函数。显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。 我们自然关心插值多项式的次数增加时,L(x) 是否也更加靠近被逼近的函数。 龙格给出了一个极著名例子。 设区间-1 , 1 上函数f(x)=1(1+25x2)实验内容: 考虑区间 -1 ,1 的一个等距划分,分点为:x(i)=-1+2i/n,i=0,1,2,n泽拉格朗日插值多项式为:L(x)=l(i)(x)/(1

10、+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+x4) , 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,x2x(n+1) 为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果。实

11、验过程:程序:多项式插值的震荡现象实验2.1for m=1:6subplot(2,3,m)%把窗口分割成 2*3 大小的窗口largrang(6*m)%对 largrang 函数进展运行if m=1title(longn=6)elseif m=2title(longn=12)elseif m=3title(longn=18)elseif m=4title(longn=24)elseif m=5title(longn=30)elseif m=6title(longn=36)专业资料整理WORD格式4专业资料整理WORD格式数值分析实验报告end%对每个窗口分别写上标题为插值点的个数end保存为:

12、 chazhi.mfunction largrang(longn)mm=input(please input mm(运行第几个函数就输入mm 为几 ):mm=)if mm=1%d 表示定义域的边界值d=1;elseif mm=2|mm=3d=5;endx0=linspace(-d,d,longn); %x 的节点 if mm=1y0=1./(1.+25.*x0.2);elseif mm=2y0=x0./(1.+x0.4);elseif mm=3y0=atan(x0);endx=sym(x);n=length(x0); s=0.0;for k=1:np=1.0;for j=1:nif j=kp=p*(x-x0(j)/(x0(k)-x0(j);endend

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号