五、插值法
1 拉格朗日插值1.3 Lagrange插值多项式先讨论只有两个节点 x0,x1(n=1)x_0,x_1(n=1)x0,x1(n=1) 的插值多项式。此时插值多项式应设为 φ1(x)=a0+a1x\varphi_1(x)=a_0+a_1xφ1(x)=a0+a1x,且满足插值条件:φ1(x0)=a0+a1x0=y0=f(x0)φ1(x1)=a0+a1x1=y1=f(x1)\varphi_1
1 拉格朗日插值
1.1 多项式插值
用多项式作为研究插值的工具,称为代数插值,其基本问题是:已知函数f(x)f(x)f(x)在区间[a,b][a,b][a,b]上n+1n+1n+1个不同点x0,x1,…,xnx_0,x_1,\dots,x_nx0,x1,…,xn处的函数值yi=f(xi)(i=0,1,…,n)y_i=f(x_i)(i=0,1,\dots,n)yi=f(xi)(i=0,1,…,n),求一个至多nnn次的多项式:
φn(x)=a0+a1x+⋯+anxn(5−1)\varphi_n(x)=a_0+a_1x+\cdots+a_nx^n\quad\quad\quad\quad\quad(5-1)φn(x)=a0+a1x+⋯+anxn(5−1)
使其在给定点处与f(x)f(x)f(x)同值,即满足插值条件
φn(xi)=f(xi)=yi (i=0,1,…,n)(5−2)\varphi_n(x_i)=f(x_i)=y_i\ (i=0,1,\dots,n)\quad\quad\quad\quad\quad(5-2)φn(xi)=f(xi)=yi (i=0,1,…,n)(5−2)
φn(x)\varphi_n(x)φn(x)称为插值多项式,xi(i=0,1,…,n)x_i(i=0,1,\dots,n)xi(i=0,1,…,n)称为插值节点,简称节点,[a,b]称为插值区间。
待补充 124
1.2 插值多项式的误差估计
插值多项式与被插函数之间的差:
Rn(x)=f(x)−φn(x)R_n(x)=f(x)-\varphi_n(x)Rn(x)=f(x)−φn(x)
称为截断误差,又称为插值余项。
假定 f(x)f(x)f(x) 在区间 [a,b][a,b][a,b] 上 n+1n+1n+1 次连续可导,对 [a,b][a,b][a,b] 上任意点 xxx ,且 x≠xi(i=0,1,…,n)x\ne x_i(i=0,1,\dots,n)x=xi(i=0,1,…,n) ,构造辅助函数:
ψ(t)=f(t)−φn(t)−Rn(x)wn+1(x)wn+1(t)(5−4)\psi(t)=f(t)-\varphi_n(t)-\frac{R_n(x)}{w_{n+1}(x)}w_{n+1}(t)\quad\quad\quad\quad\quad(5-4)ψ(t)=f(t)−φn(t)−wn+1(x)Rn(x)wn+1(t)(5−4)
其中wn+1(t)=∏j=0n(t−xj)w_{n+1}(t)=\prod\limits_{j=0}^n(t-x_j)wn+1(t)=j=0∏n(t−xj),显然:
ψ(x)=f(x)−φn(x)−Rn(x)wn+1(x)wn+1(x)=0\psi(x)=f(x)-\varphi_n(x)-\frac{R_n(x)}{w_{n+1}(x)}w_{n+1}(x)=0ψ(x)=f(x)−φn(x)−wn+1(x)Rn(x)wn+1(x)=0
由插值条件(5-2),Rn(xi)=0 (i=0,1,…,n)R_n(x_i)=0\ (i=0,1,\dots,n)Rn(xi)=0 (i=0,1,…,n),故函数 ψ(t)\psi(t)ψ(t) 在区间 [a,b][a,b][a,b] 内至少有 n+2n+2n+2 个零点 x,x0,x1,…,xnx,x_0,x_1,\dots,x_nx,x0,x1,…,xn 。由罗尔(Rolle)定理,函数:
ψ′(t)=f′(t)−φn′(t)−Rn(x)wn+1(x)wn+1′(t)\psi'(t)=f'(t)-\varphi'_n(t)-\frac{R_n(x)}{w_{n+1}(x)}w'_{n+1}(t)ψ′(t)=f′(t)−φn′(t)−wn+1(x)Rn(x)wn+1′(t)
在(a,b)(a,b)(a,b)内至少有n+1n+1n+1个零点。反复使用罗尔定理,可以得出:
ψ(n+1)(t)=f(n+1)(t)−φn(n+1)(t)−Rn(x)wn+1(x)wn+1(n+1)(t)\psi^{(n+1)}(t)=f^{(n+1)}(t)-\varphi^{(n+1)}_n(t)-\frac{R_n(x)}{w_{n+1}(x)}w^{(n+1)}_{n+1}(t)ψ(n+1)(t)=f(n+1)(t)−φn(n+1)(t)−wn+1(x)Rn(x)wn+1(n+1)(t)
在(a,b)(a,b)(a,b)内至少有一个零点,设为ξ\xiξ,即:
ψ(n+1)(ξ)=0\psi^{(n+1)}(\xi)=0ψ(n+1)(ξ)=0
因为φn(t)\varphi_n(t)φn(t)为至多nnn次多项式,w(n+1)(t)w_{(n+1)}(t)w(n+1)(t)为最高次项系数为1的n+1n+1n+1次多项式,因而:
φn(n+1)(t)≡0,w(n+1)(n+1)(t)=(n+1)!\varphi_n^{(n+1)}(t)\equiv0\quad ,w_{(n+1)}^{(n+1)}(t)=(n+1)! φn(n+1)(t)≡0,w(n+1)(n+1)(t)=(n+1)!
于是有:
ψ(n+1)(ξ)=f(n+1)(ξ)−Rn(x)wn+1(x)(n+1)! =0\psi^{(n+1)}(\xi)=f^{(n+1)}(\xi)-\frac{R_n(x)}{w_{n+1}(x)}(n+1)!\ =0ψ(n+1)(ξ)=f(n+1)(ξ)−wn+1(x)Rn(x)(n+1)! =0
所以:
Rn(x)=f(n+1)(ξ)(n+1)!wn+1(x),ξ∈(a,b)(5−5)R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}w_{n+1}(x),\quad\xi\in(a,b)\quad\quad\quad\quad\quad(5-5)Rn(x)=(n+1)!f(n+1)(ξ)wn+1(x),ξ∈(a,b)(5−5)
定理5.1
设x0,x1,…,xnx_0,x_1,\dots,x_nx0,x1,…,xn是区间[a,b][a,b][a,b]上的互异节点,φn(x)\varphi_n(x)φn(x)是过这组节点的nnn次插值多项式。如果f(x)f(x)f(x)在[a,b][a,b][a,b]上n+1n+1n+1次连续可导,则对[a,b][a,b][a,b]内任意点xxx,插值余项为:
Rn(x)=f(n+1)(ξ)(n+1)!wn+1(x),ξ∈(a,b)(5−5)R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}w_{n+1}(x),\quad \xi\in(a,b)\quad\quad\quad\quad(5-5)Rn(x)=(n+1)!f(n+1)(ξ)wn+1(x),ξ∈(a,b)(5−5)
1.3 Lagrange插值多项式
先讨论只有两个节点 x0,x1 (n=1)x_0,x_1\ (n=1)x0,x1 (n=1) 的插值多项式。此时插值多项式应设为 φ1(x)=a0+a1x\varphi_1(x)=a_0+a_1xφ1(x)=a0+a1x,且满足插值条件:
φ1(x0)=a0+a1x0=y0=f(x0)φ1(x1)=a0+a1x1=y1=f(x1)\varphi_1(x_0)=a_0+a_1x_0=y_0=f(x_0)\\\varphi_1(x_1)=a_0+a_1x_1=y_1=f(x_1)φ1(x0)=a0+a1x0=y0=f(x0)φ1(x1)=a0+a1x1=y1=f(x1)
解此方程组得:
a0=y1x0−y0x1x0−x1,a1=y0−y1x0−x1a_0=\frac{y_1x_0-y_0x_1}{x_0-x_1},\quad\quad a_1=\frac{y_0-y_1}{x_0-x_1}a0=x0−x1y1x0−y0x1,a1=x0−x1y0−y1
所以,两个节点的一次插值多项式为:
φ1(x)=y1x0−y0x1x0−x1+y0−y1x0−x1x(5−6)\varphi_1(x)=\frac{y_1x_0-y_0x_1}{x_0-x_1}+\frac{y_0-y_1}{x_0-x_1}x\quad\quad\quad\quad(5-6)φ1(x)=x0−x1y1x0−y0x1+x0−x1y0−y1x(5−6)
此时是用过两点(x0,y0),(x1,y1)(x_0,y_0),(x_1,y_1)(x0,y0),(x1,y1)的直线y=φ1(x)y=\varphi_1(x)y=φ1(x)近似曲线y=f(x)y=f(x)y=f(x),故这种插值又称为线性插值。
如果将式(5-6)改写成以下形式:
φ1(x)=y0x−x1x0−x1+y1x−x0x1−x0x(5−7)\varphi_1(x)=y_0\frac{x-x_1}{x_0-x_1}+y_1\frac{x-x_0}{x_1-x_0}x\quad\quad\quad\quad(5-7)φ1(x)=y0x0−x1x−x1+y1x1−x0x−x0x(5−7)
式(5-7)中,φ1(x)\varphi_1(x)φ1(x)被表示为两个线性函数的线性组合,记:
l0(x)=x−x1x0−x1,l1(x)=x−x0x1−x0l_0(x)=\frac{x-x_1}{x_0-x_1},\quad\quad\quad l_1(x)=\frac{x-x_0}{x_1-x_0}l0(x)=x0−x1x−x1,l1(x)=x1−x0x−x0
显然,它们满足:
l0(x0)=1,l0(x1)=0l1(x0)=0,l1(x1)=1l_0(x_0)=1,\quad l_0(x_1)=0\\l_1(x_0)=0,\quad l_1(x_1)=1l0(x0)=1,l0(x1)=0l1(x0)=0,l1(x1)=1
即 li(x) (i=0,1)l_i(x)\ (i=0,1)li(x) (i=0,1)在对应的插值点xix_ixi处取值为1,在其他点处取值为0。不难想象,以对应点处的函数值为系数对它们作线性组合所得的函数,不仅仍是线性的,且必定满足插值条件。由此得到启发,当节点增多到n+1时,可以先构造n次多项式li(x)(i=0,1,⋯ ,n)l_i(x)(i=0,1,\cdots,n)li(x)(i=0,1,⋯,n),它们满足:
li(xj)={0,j≠i1,j=i(5−8)l_i(x_j)=\begin{cases}0,\quad j\ne i\\1,\quad j=i\end{cases}\quad\quad\quad\quad(5-8)li(xj)={0,j=i1,j=i(5−8)
然后以对应点处的函数值为系数作线性组合,即得所要求的插值多项式。下面推导li(x)(i=0,1,⋯ ,n)l_i(x)(i=0,1,\cdots,n)li(x)(i=0,1,⋯,n)的表达式。
由式(5-8),多项式li(x)l_i(x)li(x)有n个根xj(j=0,1,⋯ ,n,j≠i)x_j(j=0,1,\cdots,n,j\ne i)xj(j=0,1,⋯,n,j=i),且li(xi)=1l_i(x_i)=1li(xi)=1,故它必定是以下形式:
li(x)=(x−x0)⋯(x−xi−1)(x−xi+1)⋯(x−xn)(xi−x0)⋯(xi−xi−1)(xi−xi+1)⋯(xi−xn)=∏j=0,j≠inx−xjxi−xj(i=0,1,⋯ ,n)(5−9)l_i(x)=\frac{(x-x_0)\cdots(x-x_{i-1})(x-x_{i+1})\cdots(x-x_n)}{(x_i-x_0)\cdots(x_i-x_{i-1})(x_i-x_{i+1})\cdots(x_i-x_n)}=\prod\limits_{j=0,j\ne i}^n\frac{x-x_j}{x_i-x_j}\quad(i=0,1,\cdots,n)\quad\quad\quad\quad(5-9)li(x)=(xi−x0)⋯(xi−xi−1)(xi−xi+1)⋯(xi−xn)(x−x0)⋯(x−xi−1)(x−xi+1)⋯(x−xn)=j=0,j=i∏nxi−xjx−xj(i=0,1,⋯,n)(5−9)
这些函数称为Lagrange插值基函数。利用它们立即得出插值问题的解:
φn(x)=∑i=0nyili(x)=∑i=0nyi∏j=0,j≠inx−xjxi−xj(5−10a)\varphi_n(x)=\sum\limits_{i=0}^ny_il_i(x)=\sum\limits_{i=0}^ny_i\prod\limits_{j=0,j\ne i}^n\frac{x-x_j}{x_i-x_j}\quad\quad\quad\quad\quad(5-10a)φn(x)=i=0∑nyili(x)=i=0∑nyij=0,j=i∏nxi−xjx−xj(5−10a)
事实上,因为每个插值函数li(x) (i=0,1,…,n)l_i(x)\ (i=0,1,\dots,n)li(x) (i=0,1,…,n)都是nnn次多项式,故φn(x)\varphi_n(x)φn(x)是至多nnn次多项式。由式(5-8)又得:
φn(xk)=∑i=0nyili(xk)=yk(k=0,1,…,n)\varphi_n(x_k)=\sum\limits_{i=0}^ny_il_i(x_k)=y_k\quad(k=0,1,\dots,n)φn(xk)=i=0∑nyili(xk)=yk(k=0,1,…,n)
即φn(x)\varphi_n(x)φn(x)满足插值条件(5-2)。
式(5-10a)称为nnn次Lagrange插值多项式。为了便于区别,我们常用Ln(x)L_n(x)Ln(x)代替φn(x)\varphi_n(x)φn(x),以突出这是由Lagrange插值所得到的插值多项式,即:
Ln(x)=∑i=0nyili(x)(5−10b)L_n(x)=\sum\limits_{i=0}^ny_il_i(x)\quad\quad\quad\quad\quad\quad(5-10b)Ln(x)=i=0∑nyili(x)(5−10b)
2 牛顿(Newton)插值
2.1 差商
定义5.1
设有函数f(x),x0,x1,x2,…f(x),x_0,x_1,x_2,\dotsf(x),x0,x1,x2,…为一系列互不相等的点,称f(xi)−f(xj)xi−xj\frac{f(x_i)-f(x_j)}{x_i-x_j}xi−xjf(xi)−f(xj)为f(x)f(x)f(x)关于点xi,xjx_i,x_jxi,xj的一阶差商(也称均差),记为f[xi,xj]f[x_i,x_j]f[xi,xj],即:
$$$$
2.3 差分
当节点等距时,即相邻两个节点之差(称为步长)为常数,Newton插值公式的形式会更简单。此时关于节点间函数的平均变化率(差商)可用函数值之差(差分)来表示。
定义5.2
4 埃尔米特(Hermite)插值
如果对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有相同的一阶、二阶甚至更高阶的导数值,这就是Hermite插值问题。本节主要讨论在节点处插值函数与函数的值及一阶导数值均相等的Hermite插值。
4.1 Hermite插值
更多推荐


所有评论(0)