关于几种插值多项式的比较分析[毕业论文,绝对精品]

上传人:xmg****18 文档编号:120390489 上传时间:2020-02-06 格式:DOC 页数:29 大小:1.19MB
返回 下载 相关 举报
关于几种插值多项式的比较分析[毕业论文,绝对精品]_第1页
第1页 / 共29页
关于几种插值多项式的比较分析[毕业论文,绝对精品]_第2页
第2页 / 共29页
关于几种插值多项式的比较分析[毕业论文,绝对精品]_第3页
第3页 / 共29页
关于几种插值多项式的比较分析[毕业论文,绝对精品]_第4页
第4页 / 共29页
关于几种插值多项式的比较分析[毕业论文,绝对精品]_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《关于几种插值多项式的比较分析[毕业论文,绝对精品]》由会员分享,可在线阅读,更多相关《关于几种插值多项式的比较分析[毕业论文,绝对精品](29页珍藏版)》请在金锄头文库上搜索。

1、. . . . . 本科生毕业论文开 题 报 告 书题 目 插值方法及其MATLAB实现 学生姓名 盛克平 学 号 1209402023 系 别 数学与应用数学 专 业 信息与计算科学 指导教师 刘建国 讲师 2015年 12 月 11 日目 录摘 要IABSTRACTII引言- 1 -1 、几种常见的插值公式及其构造- 1 -1.1 Lagrange插值法- 2 -1.2 Newton插值法- 3 -1.3 Hermite插值法- 5 -1.4 分段低次插值法- 6 -1.5 三次样条插值法- 7 -2 、例题- 8 -3 、结束语- 12 -4、参考文献- 13 -附录1- 14 -附录2

2、- 14 -附录3- 15 -5、致谢:- 15 -. 专业.专注 . . . . . 摘 要 插值法是数值算法的最基本方法之一,同时也是函数逼近、数值积分、数值微分、微分方程数值解的基础。许多实际问题都需要运用插值法来解决,所以通过介绍几种常见的插值公式及其误差估计,如:Lagrange插值公式、Newton插值公式、Hermite插值公式、分段低次插值公式、三次样条插值公式。讨论和比较它们的实用范围和优缺点。关键词:数值分析 插值法 插值公式 误差 MATLABABSTRACT Interpolation is one of the most basic method of numeric

3、al algorithm, but also the function approximation, numerical integration, numerical differentiation, numerical solution of differential equation based. Many practical problems need to solve by using the interpolation method, so the introduction of several common interpolation formula and error estim

4、ate, such as: Lagrange interpolation formula, Newton formula, Hermite formula of interpolation, piecewise low-order interpolation formula, three spline interpolation formula. Discuss and compare their application range and advantages and disadvantages.Keywords:Numerical analysis Method of interpolat

5、ion Formula of interpolation Error Matlab. 专业.专注 .引言 插值法是数值算法的最基本方法之一,同时也是函数逼近、数值积分、数值微分、微分方程数值解的基础。在全球化、信息化浪潮大力推动下,计算机技术得到了迅速的发展。插值法也在生活、工程和科学研究中得到了更为广泛的应用。比如在计算断面的面积、漏磁探伤和曲线拟和等诸多实际问题中,有的函数虽然给出了解析表达式,但往往过于复杂而难以计算,使用不方便;有的函数只能给出它在平面上一些离散的点和这些点的函数值,而函数的具体解析表达式则不能给出,在这样的情况下,选用近似函数来逼近函数。MATLAB集计算和绘图等功能

6、于一体,操作简单易上手,在数学领域中具有非常重要的地位。在插值法中MATLAB可以通过改变插值函数的参数,来实现不同的插值方式。本文对几种插值法作归纳、总结并比较和讨论几种插值法的优缺点,总结出规律,并给出具体算例及Matlab实现,以便进一步理解插值法,更好地运用其方法解决实际工程问题。1 、几种常见的插值公式及其构造插值法是函数插值法的简称,它的基本思想是:构造一个简单便于计算的函数去逼近原函数,通过计算逼近函数在某一点的值从而得到原函数在这一点的近似值,而求的方法就称为插值法。下面给出插值函数的一般定义:定义:已知(可能未知或表达式非常复杂)是定义在区间上的函数,在这个区间上有个彼此不相

7、同的点,且对应的函数值为。寻找一个简单、便于计算的函数,使满足:通常称为插值区间,为被插值函数,为插值函数,为插值节点。其中当是多项式时,称为代数插值方法,即多项式插值。若设为误差函数或余项,则有.而且满足关系式: 1.1 Lagrange插值法已知Lagrange插值是为次多项式插值,首先考察低次的插值多项式。当时,要构造出过两点与的多项式(次数不超过1次且),使得。则可以写成: 它是两个线性函数的线性组合,所以称为线性插值多项式.当时,相应的构造出过三点的多项式(次数不超过2且),使得。则可写成:式被称为抛物线插值多项式。同理,当为插值节点时,有,则可写成: 式被称为Lagrange插值多

8、项式.在,式子中,均为插值基函数,且满足: ,即得.误差估计由定理形式给出:定理1.1.1 设为区间上互不相同的节点,且在内存在,满足的插值多项式,则对,使得.还可写成其截断误差:.其中,.Lagrange插值多项式的优点是表达式简单明确、便于推导、格式整齐规范;缺点是没有承上启下性和计算量大,即当需要增加、减少新的节点或节点位置变化时,就得从新计算所以的函数。在Matlab中,利用Lagrange插值方法进行多项式插值,并将图形显式出来 实现Lagrange插值的步骤如下: Step1 定义函数f = 1/(25*x2+1)将其保存在fm 文件中,具体程序如下: function y = f

9、1(x) y = 1/(25x2+1); Step2 定义拉格朗日插值函数,将其保存在lagrangem 文件中,具体实现程序 编程见附录A. Step3 建立测试程序,保存在textM文件中,实现画图: x=-1:0.001:1; y=(1+25.*x.2).-1; p=polyfit(x,y,n); py=vpa(poly2sym(p),10); plot_x=-1:0.001:1; f1=polyval(p,plot_x); figure plot(x,y,r,plot_x,f1) 输入n=6时,出现如下面的图2.1所示 图2.1 Largange插值图像 通过图2.1可以看出当n=6时

10、,被插图像与插值图像没有很好的模拟,于是重新运行textM,并选择n=15,运行,显示如图2.2所示 图2.2 Largange插值图像 综合图2.1和图2.2的Lagrange插值图像可以看出,n=15时的被插图像与插值图像实现了很好的模拟 结果分析: 由图2.1和图2.2可以看出n的次数越高,越能实现较好的模拟,从而模拟的效果越好,从图2.2就可以看出两条曲线接近重合,而图一两条直线却分开很多,误差较大,精度也不高因此在实际的应用中应该尽量在给定的条件下增加n的次数,才能实现与原函数较好的重合,才能使计算的结果更加的准确,从而减小了误差.1.2 Newton插值法在介绍Newton插值法之

11、前,先来了解一下什么是差商?给定了函数在节点处的函数值。那么有形如:,称为函数关于节点处的一阶差商。同理给出在节点处的函数值。则被称为函数关于节点的阶差商。所以可得到差商表如下所示:表1 差商表一阶差商二阶差商三阶差商 由差商的定义可以得出:所以有: 其中:。即是过n+1个插值点的n阶Newton插值多项式,为插值多项式误差。由于次Newton插值多项式与次Lagrange插值多项式是恒等的,只是表达方式不同,即Newton插值多项式的余项和Lagrange插值多项式的余项相同:.当用Newton插值多项式计算较高次的插值时,只需添加一项对应的节点和在这节点处的计算即可,而表达式前面的计算仍然

12、有效,从而节省了计算量。但是用Lagrange插值多项式计算较高次的插值时,在添加一项对应的节点和其计算时,表达式也要经过重新计算,计算量明显的增大。所以Newton插值多项式在这一点上克服了承上启下的问题。但随着次数n的增大,其误差不是很稳定,所以Newton插值对高次插值是不可取的。%保存文件名为New_Int.m%Newton基本插值公式%x为向量,全部的插值节点%y为向量,差值节点处的函数值%xi为标量,是自变量%yi为xi出的函数估计值function yi=New_Int(x,y,xi)n=length(x);m=length(y);if n=merror(The lengths of X ang Y must be equal!);return;end%计算均差表YY=zeros(n);Y(:,1)=y;for k=1:n-1for i=1:n-kif abs(x(i+k)-x(i)epserror(the DATA is err

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

最新文档


当前位置:首页 > 办公文档 > 教学/培训

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