文档详情

数值分析课程设计多项式插值的振荡现象matlab.doc

发布:2017-06-17约1.3万字共23页下载文档
文本预览下载声明
数值分析 课程设计 多项式插值的振荡现象 (姓名)(学号) 指导教师 学院名称 专 业 名 称 提交日期 2012年6月 问题的提出 考虑在一个固定区间上用插值逼近一个函数。显然,Lagrange插值中使用的节点越多,插值多项式的次数就越高。我们自然关心插值多项式增加时,Ln(x)是否也更加靠近被逼近的函数。龙格(Runge)给出的一个例子是极著名并富有启发性的。设区间[-1,1]上的函数 考虑区间[-1,1]的一个等距划分,节点为 则拉格朗日插值多项式为 其中的ai(x),i=0,1,2,…,n是n次Lagrange插值基函数。 实验内容 研究以下三个函数在各自区间上运用不同的划分 1、 2、 3、 运用在区间[-p,p]上等距划分(p0),节点为 以x,x1,…,xn为插值节点构造上述各函数的Lagrange插值多项式。 运用区间[a,b]上切比雪夫(Chebychev)点的定义为 以x1,x2,…,xn+1Lagrange插值多项式,比较其结果。 并分别比较两种划分方法,增加节点数,最大误差的变化。 实验结果及分析 等距划分 对于函数来说,使用等距划分 其中绿色点线代表误差,红色划线代表Lagrange插值多项式,蓝色实线代表原函数。 可见对于等距划分来说节点数越多,最大误差越大,可是越靠近中间的误差越少。越接近两个端点的误差越大。当节点数很大时,最大误差的来源只与靠近两个端点的误差有关。 例如:n=20时 对于,使用等距划分 当n=25时 对于,使用等距划分 当n=30时, 从以上三个函数图像来看,可见节点越多,靠近端点处取得最大误差,并且最大误差越大。这就是龙格现象。 切比雪夫(Chebychev)点 首先研究 当n=20时 可是当n=30 同样的n=40,50也出现了两端误差增大现象。 然后研究 当n=25时 同样的n=30,50也会出现龙格现象。 最后研究 当n=25时 此函数也不例外。 由以上三个函数,通过不断改变n的值,可得运用切比雪夫点来划分,要使最大误差小于0.1,n一般取12到20间的数。 综述 对于Lagrange插值多项式,运用等距划分取节点时,n要不能取得太大,一般n=8或8左右。若要使n取得更大,那么需要使代入到函数的点尽量在区间的中间,这样才能使真值与计算出来的值的误差尽可能的小。 运用切比雪夫点来划分取节点时,n一般取12到20间的数。无论要代入到函数的点在区间的那个位置,都能使误差尽可能的小。若要使n取得更大,那么需要使代入到函数的点尽量在区间的中间,这样才能使真值与计算出来的值的误差尽可能的小。若n取的较小,同样误差也是很大的。 对于以上两种取节点的方法,都不能避免龙格现象的出现。对于不同的选取节点的方法,只要n取得合适,同时代人函数的点适合,那么就可以使误差尽可能的减少。 关于本设计的体会 为了完成本设计,接触了一个数学软件matlab,并能初步运用本软件,编写程序,方便了以后对数学的研究。 并且对于编写过程中遇到的错误,显示不正确等,通过网络搜索查询,能解决这些问题。例如运用fminbnd函数时,显示的并不是正确的答案,后来百度了一下,明白了此函数的运作原理,并最终能显示我想得到的结果。 当然对于我所编写的程序,我也就只能做到这一步,也是碍于时间关系,和对matlab不熟悉,并不能更好的完善下去。有时取值很大时,运行起来,运行得很慢,这是一大缺陷。主要是循环次数太多,和找不到更好的函数代替所造成的。其他的缺点也就不一一的列举了。 学习一个软件需要耐心,细心。多寻找,多发现,多创作才能深入了解一个软件。同样的道理,这也是做任何事所需要的素质。 参考文献 数值分析(第三版)——北京理工大学出版社 附录 所的运用软件及编号MATLAB 7.0 (图略) 所用电脑的版本、型号与系统 (图略) 用户界面设计 文件名:kcsjx.fig 用户界面程序,运行kcsjx.m来调用主要程序 文件名:kcsjx.m function varargout = kcsjx(varargin) % KCSJX M-file for kcsjx.fig % KCSJX, by itself, creates a new KCSJX or raises the existing % singleton*. % % H = KCSJX returns the handle to a new KCSJX or the handle to % the existing singleton*. % % KCSJX(CALLBACK,hObject,eventData,handles,...) call
显示全部
相似文档