5.1 一维插值方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

满足 pn ( x j ) y j ( j 0,1, , n) , 然后用 pn ( x) 计算插值
5.1.2 多项式插值
证明 设 pn ( x) 如(5.1.1)式的形式,记
n x0 n x1 X n x n n x0 1 x0 1 n 1 x1 x1 1 n 1 xn xn 1( n 1)( n 1)
5.1.2 多项式插值
定理 5.1.2 设 g(x)在[a,b]上 n+1 阶连续可导, a x0 x1 xn b , n ( x) 是在 x0 , x1 , , xn 逼近 g(x) L 而得到的至多 n 次插值多项式. 那么对任意 x [a, b] , 都存在 (a, b) ,使得逼近的误差
L5 ( x) i 0 yi li ( x)
5
的函数图象(见图 5.1 和图 5.2).
2 1 0 -1 2 1 0 -1 2 1 0 -1 0 5 10 基 函 数 l4 0 5 10 基 函 数 l2 0 5 10 基 函 数 l0
2 1 0 -1 2 1 0 -1 2 1 0 -1 0 5 10 基 函 数 l5 0 5 10 基 函 数 l3 0 5 10 基 函 数 l1
日型至多 n 次插值多项式. 按(5.1.5)式编写函数 M 文件 polyinterp.m,其中 x、y 分别为结点的横、纵坐标向量,长度相同;xi 为待插值点向量, 是求得的插值向量, 与 xi 同型. yi yi
5.1.2 多项式插值
function yi=polyinterp(x,y,xi) n=length(x); m=length(xi); for k=1:m, z=xi(k); s=0; for i=1:n, p=1; for j=1:n if j~=i p=p*(z-x(j))/(x(i)-x(j)); end end, s=p*y(i)+s; end, yi(k)=s; end
5.1.2 多项式插值
例 5.1.1 已知(0,3)、(1,1)、(3,2)、(6,0)、(8,2) 和(9,4)共 6 个结点, 利用函数 M 文件 polyinterp.m 绘 制 6 个拉格朗日型多项式插值基函数 l0 ( x) , l1 ( x ) ,…, l5 ( x ) 以及插值多项式
5.1.2 多项式插值
由(5.1.4)式可见: li ( x ) 都是 n 次多项式,只依赖 于 x j ( j 0,1, , n) ,不依赖于 y j ( j 0,1, , n) ,并且 满足以下两个性质: (1)基性质:
1 , i j li ( x j ) ij 0 , i j
5.1.2 多项式插值
MATLAB 没有提供专门用于多项式插值的函 数,但是函数 polyfit 和 polyval 合用能够实现多项式 插值:n=length(x)-1; yi=polyval(polyfit(x,y,n),xi) 其中 x、y 分别为已知结点的横、纵坐标向量, 长度都是 n+1;xi 为待插值点的数组,yi 是求得的插 值的数组,yi 与 xi 是同型数组. 在例 5.1.1 的脚本中,命令 wi=polyinterp(x,w,xi) 替换成 wi=polyval(polyfit(x,w,5),xi), 也能计算出相同 结果,而且不需要预先准备 M 文件 polyinterp.m .
5.1.2 多项式插值
构造插值多项式的常用方法有拉格朗日 (Lagrange) 法和牛顿法两种, 在此介绍拉格朗日法. 对于 n+1 个结点 ( x j , y j ) ( j 0,1, , n) ,设插值多 项式的形式为
Ln ( x) yi li ( x)
i 0 n
(5.1.3)
T T
a a1 , a2 ,, an , an 1 , y y0 , y1 , , yn
则 pn ( x j ) y j ( j 0,1, , n) 即线性方程组 Xa=y (5.1.2) (5.1.2)式恰好有 n+1 个未知数和 n+1 个方程.
5.1.2 多项式插值
第5章
数值逼近模型
5.1节
一维插值方法
5.1.1 引言
常用的数值逼近方法有拟合、插值、数值积分和 数值微分. 插值,通俗的说,就是在若干已知的函数值插入 计算一些未知的函数值. 插值在工程技术和数据处理 等领域有直接的应用,插值还是数值积分、数值微分 等数值计算方法的基础.
5.1.1 引言
一维插值问题: 已知 n+1 个结点 ( x j , y j ) , 其中 x j 互不相同 ( j 0,1, , n) , 求任意插值点 x 处的插值 y . 求解一维插值问题的思想:假设结点是由未知的 连续函数 g(x)产生,即 g ( x j ) y j ( j 0,1, , n) ,构造 相对简单的函数 f(x)来逼近 g(x), 使得 f(x)经过这 n+1 个结点,即满足 f ( x j ) y j ( j 0,1, , n) ,然后用 f(x) 计算插值点 x 处的插值,即 y f ( x ) .
图5.1 拉格朗日多项式插值的基函数
Lagrange插 值 多 项 式 L5=3*l0+1*l1+2*l2+2*l4+4*l5 12
10
8
6
4
2
0 -1 0 1 2 3 4 5 6 7 8 9 10
图5.2
5.1.2 多项式插值
例 5.1.1 解答 绘图的 MATLAB 脚本: x=[0,1,3,6,8,9]; y=[3,1,2,0,2,4]; xi=-1:.01:10; yi=zeros(size(xi)); figure(1) for k=1:6 w=zeros(1,6); w(k)=w(k)+1; wi=polyinterp(x,w,xi); yi=yi+y(k).*wi; subplot(3,2,k) plot(x,w,'ko',xi,wi,'k'), axis([-1,10,-1,2]) end figure(2), plot(x,y,'ko',xi,yi,'k'), axis([-1,10,-1,12]) title('Lagrange 插值多项式 L_5=3*l_0+1*l_1+2*l_2+2*l_4+4*l_5')
由于(5.1.2)式的系数矩阵 X 是范德蒙矩阵,而且 x0 , x1 , , xn 是互异的实数,所以行列式 det(X)≠0,于 是对于任意的实数 y0 , y1 , , yn ,(5.1.2)式都有唯一解 (证毕) a X 1 y . 根 据 定 理 5.1.1 的 证 明 , 在 理 论 上 只 要 计 算 a X 1 y 就可以得到 pn ( x) 的系数 a1 , , an 1 . 但是在 数值计算上,由于范德蒙矩阵是“病态”的,计算 a X 1 y 可能得不到精确值,而且计算量过大,不是 理想的途径.
(5.1.7)
5.1.2 多项式插值
证明 首先证明(5.1.6)式. 任取一点 x [a, b] . 当 x x j ( j 0,1, , n) 时, (5.1.6)式是自然满足的. 当 x x j ( j 0,1, , n) 时,作辅助函数
n Rn ( x) (t ) g (t ) Ln (t ) n (t ) , n ( x) ( x x j ) n ( x) j 0
5.1.1 引言
在本节,我们将学习三种一维插值方法: (1)多项式插值(polynomial interpolation) ——f(x)为至多 n 次多项式; ( 2 ) 分 段 线 性 插 值 ( piecewise linear interpolation)——f(x)为分段线性函数; (3)三次样条插值(cubic spline interpolation) ——f(x)为二阶连续可导的分段三次多项式.
n
否成立. 实际上高次的插值多项式可能会发生严重的 振荡,尤其是在区间[a,b]的左右端点附近. 所以在实 际应用中,多项式插值一般仅适合于结点数目较少、 也就是多项式次数较低的情况.
5.1.2 多项式插值
20 世纪初,德国数学家龙格(Runge)曾给出一 个插值多项式振荡现象的例子: 例 5.1.2(龙格现象) 考虑函数 1 g ( x) , x [5,5] 2 1 x 对任意正整数 n,取划分 5 x0 x1 xn 5 将区 间[−5,5]n 等分,并记 Ln ( x) 是在 x0 , x1 , , xn 逼近 g(x) 而得到的 n 次插值多项式, 则随着 n 的增加,Ln ( x) 在
g ( n 1) ( ) n Rn ( x) g ( x) Ln ( x) (x x j ) (n 1)! j 0
(5.1.6)
记 M n1 sup g ( n1) ( x) ,则
a x b
M n 1 n Rn ( x) x xj (n 1)! j 0
其中基函数 li ( x ) 是经过 n+1 个特殊结点 ( x0 , 0) ,…,
( xi 1 , 0) , ( xi ,1) , ( xi 1 , 0) ,…, ( xn , 0) 的 n 次插值多项式. n x xj 可以证明:Hale Waihona Puke Baiduli ( x) (5.1.4) (i 0,1, , n) j 0, j i xi x j
(2)单位分解性质:
l ( x) 1 , x (, )
i 0 i
n
5.1.2 多项式插值
将 (5.1.4)式 代 入 (5.1.3)式 , 得 到 对 结 点 ( x j , y j )
( j 0,1, , n) 插值的至多 n 次多项式的具体表达式:
n x xj (5.1.5) Ln ( x ) yi j 0, j i x x i 0 i j 容易验证 Ln ( x j ) y j ( j 0,1, , n) . Ln ( x) 称为拉格朗 n
显然 (t ) 在[a,b]上 n+1 次可导,并且有 n+2 个零点 ( x0 , x1 , , xn 以及 x) ,由罗尔(Rolle)定理, ( n 1) (t ) 在(a,b)内至少有一个零点 ξ,从而(5.1.6)式得证. 由 (5.1.6)式,立即得到(5.1.7)式. (证毕)
5.1.2 多项式插值
已知结点 ( x j , y j ) ( j 0,1, , n) ,并且 x0 , x1 , , xn 是互异的实数,构造至多 n 次插值多项式 pn ( x) a1 x n a2 x n 1 an x an 1 点 x 处的插值 y pn ( x ) . 定理 5.1.1 如果 x0 , x1 , , xn 是互异的实数, 那么 对于任意的实数 y0 , y1 , , yn ,都存在唯一的至多 n 次 多项式 pn ( x) ,使得 pn ( x j ) y j ( j 0,1, , n) . 定理 5.1.1 保证了插值多项式的存在性和唯一性. (5.1.1)
5.1.2 多项式插值
注 5.1.1 定理 5.1.2 给出的多项式插值的误差估 计在理论上很有用,例如 5.2 节关于复化梯形求积公 式、数值微分三点公式等的误差估计. 但是,由定理 5.1.2 并不能立即得到多项式插值的收敛性的结论, 即 对给定的某一点 x [a, b] ,不能断言 lim Rn ( x) 0 是
相关文档
最新文档