数值分析实验的报告2——Runge现象.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析实验的报告2——Runge现象

数值分析课程实验报告——插值逼近 题目一.Runge函数的插值 Runge函数 Runge函数的表达式为: 其在[-1,1]区间上的函数图像如图1.1。在课程学习中我们知道,对Runge函数进行高次插值时有可能在两端出现不收敛的情况,即Runge现象。下面将分别用四种不同的插值方法在[-1,1]区间上对Runge函数进行插值,并分析是否产生Runge现象,比较插值效果。 图1.1.Runge函数在[-1,1]区间的函数图像 2.Newton插值 首先根据课本上的Newton插值算法进行编程(代码略)。核心思想就是用符号变量进行中间运算,以便将最终的插值函数用符号表达式表示出来,并进一步生成图像。此处插值节点选择为等距插值节点,即: 其中h=0.1。插值曲线与原曲线的对比如图1.2(蓝色为原曲线,红色为插值曲线)。从图中看出,在区间中部,二者吻合较好;但在区间两端二者则产生了明显偏差,甚至可以达到一个非常大的数值(e20量级)。因此,在等距节点的20次Newton插值下,产生了明显的Runge现象。 图1.2.Newton插值曲线与原曲线对比 Lagrange插值 此处同样是根据Lagrange插值的具体算法进行编程。但插值节点不再是等距分布,而是如下形式: 插值曲线与原曲线的对比如图1.3(蓝色为原曲线,红色为插值曲线)。从图中看出,插值曲线与原曲线吻合的很好,没有产生明显的Runge现象。对比产生了明显Runge现象的20次Newton插值,Lagrange插值的最高次数虽然也是20,但由于此处的插值节点不是等距分布的(事实上,此处采用的插值节点正是Chebyshev多项式的零点),而是中间疏两边密,因此两侧较密的节点很好地抑制了Runge现象。 图1.3. Lagrange插值曲线与原曲线对比 分段线性插值 分段线性插值是这几种插值方法中最容易处理的一个,只需要将每个节点对应的函数值求出再将相邻的数据点两两用直线相连即可。此处采用了等距节点,所得插值曲线与原曲线对比如图1.4(蓝色为原曲线,红色为插值曲线)。从图中 图1.4. 分段线性插值曲线与原曲线对比 看出,此处分段线性插值的效果也还是不错的,二者只在区间中部略微存在一些偏差,而在其他区域整体上吻合的很好,并且不存在Runge现象。这是由于分段线性插值通过对插值区间分段的方法将插值函数的次数有效降低,因而即使是等距节点分布,也很好地避免了出现Runge现象的倾向。 三次样条插值 三次样条插值是这四种插值方法中编程最麻烦的,但并不是说存在多大的技术难度,只是因为插值过程中的步骤比较繁琐,因而代码也显得较为冗长。此处依然采用等距节点,所得插值曲线与原曲线对比如图1.5(蓝色为原曲线,红色为插值曲线)。从图中看出,三次样条插值的效果比分段线性插值更胜一筹,三次样条插值曲线和原曲线在整个插值区间都基本处于重合状态,几乎没有肉眼可见的偏差。同样,由于三次样条插值的插值函数最高次数只有3,在等距节点下也没有产生Runge现象。 图1.5.三次样条插值曲线与原曲线对比 题目二.分段函数的插值 分段函数 定义在[-1,1]区间的分段函数的函数表达式为: 其函数图像如图2.1。分段函数最大的特点就是在个别点上函数值或导数值存在突变,因此可以预计,除了可能出现的Runge现象外,在那些突变点附近的插值结果也可能会出现较大的偏差。下面将分别采用之前的四种插值方法在该函数的[-1,1]定义域内对其进行插值。 图2.1.分段函数图像 2.Newton插值 首先根据课本上的Newton插值算法进行编程。此处插值节点选择为等距插值节点,即: 其中h=0.1。插值曲线与原曲线的对比如图2.2(蓝色为原曲线,红色为插值曲线)。从图中看出,与Newton法对Runge函数的插值结果相比,Newton法对于该分段函数的插值效果显得更加糟糕:不仅在区间两端产生了极强烈的震荡(即Runge现象),就连区间中部也存在较小的上下震荡。因此,从整体来看,几乎所有距插值节点稍远的点都存在较大的偏差,这表明该分段函数在等距节点下的20次Newton插值效果非常不理想。 图2.2.Newton插值曲线与原曲线对比 Lagrange插值 此处同样是根据Lagrange插值的具体算法进行编程。但插值节点不再是等距分布,而是如下形式: 插值曲线与原曲线的对比如图2.3(蓝色为原曲线,红色为插值曲线)。从图中看出,与同样次数的Newton法相比,Lagrange法所得的插值曲线虽然在区间中部的分布与其相似,但在区间两端较好地收敛到了原曲线上,即较好地消除了Runge现象。这同样是因为此处的插值节点不是等距分布的(事实上,此处采用的插值节点正是Chebyshev多项式的零点),而是中间疏两边密,因此两侧较密的节点很好地抑制了R

文档评论(0)

静待花开 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档