matlab数值分析第三章插值.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 插值 插值:插值就是定义一个在特定点取给定值的函数的过程。本章的重点是介绍两个紧密相关的插值函数:分段三次样条函数和保形分段三次插值函数(称为“pchip”) 3.1插值多项式 平面上的任意两点(x1,y1)和(x2,y2),只要x1≠x2,就为以确定一个关于x的一次多项式,其图形经过这两点。对于这个多项式,有多种不同的公式表达,但它们都对应同一个直线图形。 两个点时,假定给定区间[xk,xk+1]及端点函数值 yk=f(xk),yk+1=f(xk+1),要求线性插值多项式 L1(x),使它满足 L1(xk)=yk,L1(xk+1)=yk+1 y=L1(x)的几何意义就是通过两点(xk,yk)与 (xk+1 ,yk+1) 的直线, L1(x)的表达式可由几何意义直接给出 由两点式可以看出,L1(x)是由两个线性函数 的线性组合得到,其系数分别为yk和yk+1,即 显然, lk(x)及lk+1(x)也是线性插值多项式,在节点xk及xk+1上满足条件 我们称函数lk(x)与lk+1(x)为线性插值基函数。 这种用插值基函数表示的方法推广到一般情形,以下讨论如何构造通过n+1个节点x0x1…xn的n次插值多项式Ln(x),假定它满足条件 若n次多项式lj(x)(j=0,1,…,n)在n+1个节点 x0x1…xn 上满足条件 就称这n+1个n次多项式l0(x), l1(x),…, ln(x)为节点x0,x1,…,xn上的n次插值基函数。 用类似的推导方法,可得到n次插值基函数为 显然它满足条件(1)式。于是满足条件(1)的插值多项式Ln(x)可表示为 由lk(x)的定义知 形如(3)式的插值多项式Ln(x)称为拉格朗日插值多项式。 则对于平面上有着不同xk值的n+1个点,(xk,yk), k=0,1, …,n,存在唯一一个关于x的次数小于n+1的多项式,使其图形经过这些点。 很容易看出,数据点的数目n+1也是多项式系数的个数。尽管,一些首项的系数可能是零,但多项式的次数实际上也小于n。同样,这个多项式,有多种不同的公式表达,但它们都对应同一个直线图形。 这样的多项式称为插值多项式,它可以准确的重新计算出初始给定的数据: 表示插值多项式的最紧凑的方式是拉格朗日形式 例如,考虑下面一组数据 其中的系数,原则上可以通过求解下面的线性代数方程组得到。 这个线性方程组的系数矩阵记为V,也被称为范德尔蒙(Vandermonde)矩阵,该矩阵的各个元素为 上述范德尔蒙矩阵的各列,有时也按相反的顺序排列,但在MATLAB中,多项式系数向量,通常按从高次幂到低次幂排列。 MATLAB中的函数vander可生成范德尔蒙矩阵,例如对于前面的那组数据, V=vander(x) 生成 V = 0 0 0 1 1 1 1 1 8 4 2 1 27 9 3 1 然后,输入命令 c=V\y 计算出插值系数 c = 1.0000 0.0000 -2.0000 -5.0000 能实现各种插值算法的MATLAB函数 它们都采用下面的调用格式 v=interp(x,y,u) 前两个参数,x和y,是长度相同的向量,它们定义了插值 点。第三个参数u,为要计算函数值的范围上的点组成的 向量。输出向量v和u长度相等, 其分量v(k)=interp(x,y,u(k))。 第一个这样的插值函数是polyinterp,它基于拉格朗日形式。 为了解释polyinterp函数的功能,先构造一个间隔很密的求值点向量。 u = -.25:.01:3.25; 然后输入命令 v = polyinterp(x,y,u); plot(x,y,o,u,v,-) 可生成图3-1。 另外一个例子,使用的是本章另一种方法所用的例子 x = 1:6; y = [16 18 21 17 15 12]; disp([x; y]) u = .75:.05:6.25; v = polyinterp(x,y,u); plot(x,y,o,u,v,-); 其运行后的结果为 1 2 3 4 5 6 16 18 21 17 15 12 同时输出3-2。 3.2 分段线性插值 通过两步操作可以绘制出一个简单的图形: 第一步用圆圈在坐标系中标出个数

文档评论(0)

fpiaovxingl + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档