第九章-插值与拟合

上传人:F****n 文档编号:99565349 上传时间:2019-09-19 格式:DOC 页数:18 大小:861KB
返回 下载 相关 举报
第九章-插值与拟合_第1页
第1页 / 共18页
第九章-插值与拟合_第2页
第2页 / 共18页
第九章-插值与拟合_第3页
第3页 / 共18页
第九章-插值与拟合_第4页
第4页 / 共18页
第九章-插值与拟合_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《第九章-插值与拟合》由会员分享,可在线阅读,更多相关《第九章-插值与拟合(18页珍藏版)》请在金锄头文库上搜索。

1、第九章 插值与拟合插值:求过已知有限个数据点的近似函数。拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。1 插值方法下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite插值和三次样条插值。1.1 拉格朗日多项式插值 1.1.1 插值多项式用多项式作为研究插值的工具,称为代数插值。其基本问题是:已知函数在区间上个不同点处的函数值,求一个

2、至多次多项式 (1)使其在给定点处与同值,即满足插值条件 (2)称为插值多项式,称为插值节点,简称节点,称为插值区间。从几何上看,次多项式插值就是过个点,作一条多项式曲线近似曲线。次多项式(1)有个待定系数,由插值条件(2)恰好给出个方程 (3)记此方程组的系数矩阵为,则 是范德蒙特(Vandermonde)行列式。当互不相同时,此行列式值不为零。因此方程组(3)有唯一解。这表明,只要个节点互不相同,满足插值要求(2)的插值多项式(1)是唯一的。插值多项式与被插函数之间的差称为截断误差,又称为插值余项。当充分光滑时,其中。1.1.2 拉格朗日插值多项式实际上比较方便的作法不是解方程(3)求待定

3、系数,而是先构造一组基函数 是次多项式,满足令 (4)上式称为次Lagrange插值多项式,由方程(3)解的唯一性,个节点的次Lagrange插值多项式存在唯一。 1.1.3 用Matlab作Lagrange插值Matlab中没有现成的Lagrange插值函数,必须编写一个M文件实现Lagrange插值。设个节点数据以数组输入(注意Matlat的数组下标从1开始),个插值点以数组输入,输出数组为个插值。编写一个名为lagrange.m的M文件:function y=lagrange(x0,y0,x);n=length(x0);m=length(x);for i=1:m z=x(i); s=0.

4、0; for k=1:n p=1.0; for j=1:n if j=k p=p*(z-x0(j)/(x0(k)-x0(j); end end s=p*y0(k)+s; end y(i)=s;end 1.2 牛顿(Newton)插值在导出Newton公式前,先介绍公式表示中所需要用到的差商、差分的概念及性质。1.2.1 差商定义 设有函数为一系列互不相等的点,称为关于点一阶差商(也称均差)记为,即 称一阶差商的差商 为关于点的二阶差商,记为。一般地,称 为关于点的阶差商,记为 容易证明,差商具有下述性质: 1.2.2 Newton插值公式线性插值公式可表成 称为一次Newton插值多项式。一般

5、地,由各阶差商的定义,依次可得 将以上各式分别乘以,然后相加并消去两边相等的部分,即得 记显然,是至多次的多项式,且满足插值条件,因而它是的次插值多项式。这种形式的插值多项式称为Newton插值多项式。称为Newton插值余项。Newton插值的优点是:每增加一个节点,插值多项式只增加一项,即因而便于递推运算。而且Newton插值的计算量小于Lagrange插值。由插值多项式的唯一性可知,Newton插值余项与Lagrange余项也是相等的,即由此可得差商与导数的关系其中。1.2.3 差分当节点等距时,即相邻两个节点之差(称为步长)为常数,Newton插值公式的形式会更简单。此时关于节点间函数

6、的平均变化率(差商)可用函数值之差(差分)来表示。定义 设有等距节点,步长为常数,。称相邻两个节点处的函数值的增量为函数在点处以为步长的一阶差分,记为,即 类似地,定义差分的差分为高阶差分。如二阶差分为 一般地,阶差分为 ,上面定义的各阶差分又称为向前差分。常用的差分还有两种: 称为在处以为步长的向后差分; 称为在处以为步长的中心差分。一般地,阶向后差分与阶中心差分公式为 差分具有以下性质: (i)各阶差分均可表成函数值的线性组合,例如 (ii)各种差分之间可以互化。向后差分与中心差分化成向前差分的公式如下: 1.2.4 等距节点插值公式如果插值节点是等距的,则插值公式可用差分表示。设已知节点

7、,则有 若令,则上式又可变形为上式称为Newton向前插值公式。1.3 分段线性插值1.3.1 插值多项式的振荡用Lagrange插值多项式近似,虽然随着节点个数的增加,的次数变大,多数情况下误差会变小。但是增大时,的光滑性变坏,有时会出现很大的振荡。理论上,当,在内并不能保证处处收敛于。Runge给出了一个有名的例子:对于较大的,随着的增大,振荡越来越大,事实上可以证明,仅当时,才有,而在此区间外,是发散的。高次插值多项式的这些缺陷,促使人们转而寻求简单的低次多项式插值。1.3.2 分段线性插值简单地说,将每两个相邻的节点用直线连起来,如此形成的一条折线就是分段线性插值函数,记作,它满足,且

8、在每个小区间上是线性函数。可以表示为 有良好的收敛性,即对于有,。用计算点的插值时,只用到左右的两个节点,计算量与节点个数无关。但越大,分段越多,插值误差越小。实际上用函数表作插值计算时,分段线性插值就足够了,如数学、物理中用的特殊函数表,数理统计中用的概率分布表等。1.3.3 用Matlab实现分段线性插值用Matlab实现分段线性插值不需要编制函数程序,Matlab中有现成的一维插值函数interp1。y=interp1(x0,y0,x,method)method指定插值的方法,默认为线性插值。其值可为:nearest 最近项插值linear 线性插值spline 立方样条插值cubic

9、立方插值。所有的插值方法要求x0是单调的。当x0为等距时可以用快速插值法,使用快速插值法的格式为*nearest、*linear、*spline、*cubic。1.4 埃尔米特(Hermite)插值1.4.1 Hermite插值多项式如果对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有相同的一阶、二阶甚至更高阶的导数值,这就是Hermite插值问题。本节主要讨论在节点处插值函数与函数的值及一阶导数值均相等的Hermite插值。设已知函数在个互异节点上的函数值 和导数值 ,要求一个至多次的多项式,使得 满足上述条件的多项式称为Hermite插值多项式。Hermite插值多项式为其中,

10、。1.4.2 用Matlab实现Hermite插值Matlab中没有现成的Hermite插值函数,必须编写一个M文件实现插值。设个节点的数据以数组(已知点的横坐标),(函数值),(导数值)输入(注意Matlat的数组下标从1开始),个插值点以数组输入,输出数组为个插值。编写一个名为hermite.m的M文件:function y=hermite(x0,y0,y1,x);n=length(x0);m=length(x);for k=1:m yy=0.0; for i=1:n h=1.0; a=0.0; for j=1:n if j=i h=h*(x(k)-x0(j)/(x0(i)-x0(j)2;

11、 a=1/(x0(i)-x0(j)+a; end end yy=yy+h*(x0(i)-x(k)*(2*a*y0(i)-y1(i)+y0(i); end y(k)=yy;end1.5 样条插值许多工程技术中提出的计算问题对插值函数的光滑性有较高要求,如飞机的机翼外形,内燃机的进、排气门的凸轮曲线,都要求曲线具有较高的光滑程度,不仅要连续,而且要有连续的曲率,这就导致了样条插值的产生。1.5.1 样条函数的概念所谓样条(Spline)本来是工程设计中使用的一种绘图工具,它是富有弹性的细木条或细金属条。绘图员利用它把一些已知点连接成一条光滑曲线(称为样条曲线),并使连接点处有连续的曲率。三次样条插

12、值就是由此抽象出来的。数学上将具有一定光滑性的分段多项式称为样条函数。具体地说,给定区间的一个分划 如果函数满足: (i)在每个小区间上是次多项式;(ii)在上具有阶连续导数。则称为关于分划的次样条函数,其图形为次样条曲线。显然,折线是一次样条曲线。1.5.2 三次样条插值利用样条函数进行插值,即取插值函数为样条函数,称为样条插值。例如分段线性插值是一次样条插值。我们只介绍三次样条插值,即已知函数在区间上的个节点 上的值,求插值函数,使得(i); (5)(ii)在每个小区间上是三次多项式,记为;(iii)在上二阶连续可微。函数称为的三次样条插值函数。由条件(ii),不妨将记为其中为待定系数,共

13、个。由条件(iii) (6)容易看出,(5)、(6)式共含有个方程,为确定的个待定参数,尚需再给出2个条件。常用的三次样条函数的边界条件有3种类型:(i)。由这种边界条件建立的样条插值函数称为的完备三次样条插值函数。特别地,时,样条曲线在端点处呈水平状态。如果不知道,我们可以要求与在端点处近似相等。这时以为节点作一个三次Newton插值多项式,以作一个三次Newton插值多项式,要求由这种边界条件建立的三次样条称为的Lagrange三次样条插值函数。(ii)。特别地时,称为自然边界条件。(iii),此条件称为周期条件。1.5.3 三次样条插值在Matlab中的实现在Matlab中数据点称之为断点。如果三次样条插值没有边界条件,最常用的方法,就是采用非扭结(not-a-knot)条件。这个条件强迫第1个和第2个三次多项式的三阶导数相等。对最后一个和倒数第2个三次多项式也做同样地处理。Matlab中三次样条插值也有现成的函数:y=interp1(x0,y0,x,spline);y=spline(x0,y0,x

展开阅读全文
相关资源
相关搜索

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

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