插值余项 + 高次插值的Runge现象 | Lagrange拉格朗日插值(二)

1. 插值余项

用Lagrange插值公式计算除插值节点以外的某一插值点x处的值,其插值误差为:
Rn(x)=f(x)pn(x) R_n(x)=f(x)-p_n(x)
该误差实际上就是截断误差,称Rn(x)R_n(x)为Lagrange插值的插值余项。

定理2:设x0,x1,,xnx_0,x_1,\cdots,x_n为区间[a,b][a,b]内的n+1个插值节点,而函数f(x)f(x)[a,b][a,b]内有一阶至n+1阶导数,且已给定yi=f(xi)(i=0,1,2,,n)y_i=f(x_i)(i=0,1,2,\cdots,n),则当x[a,b]x\in[a,b]时,由Lagrange插值公式(8)计算的pn(x)p_n(x)f(x)f(x)的误差为:
Rn(x)=f(x)pn(x)=f(n+1)(φ)(n+1)!i=0n(xxi)(9) R_n(x)=f(x)-p_n(x)=\frac{f^{(n+1)}(\varphi)}{(n+1)!}\prod_{i=0}^n(x-x_i) \tag{9}
式中φ\varphi是依赖x的,它包含在由插值节点x0,x1,,xnx_0,x_1,\cdots,x_n和x所界定的(a,b)(a,b)范围内。

插值余项公式(9)给出了用pn(x)p_n(x)来近似代替f(x)f(x)的截断误差Rn(x)R_n(x)。在实际应用中,对于制定的精度ϵ\epsilon,要求插值的Rn(x)ϵR_n(x)\leq \epsilon

根据(9)式计算插值余项,前提条件是必须已知函数f(x)f(x)[a,b][a,b]内的n+1阶导数。而实际情况却恰恰相反,根本不能确定函数f(x)f(x)及其n+1阶导数,仅仅知道离散的插值节点和对应的函数值,即(xi,yi)(i=0,1,2,,n)(x_i,y_i)(i=0,1,2,\cdots,n)。那么,可采用下面的方法保证插值的计算精度。

Ln(x)L_n(x)f(x)f(x)关于n个插值节点(x0,x1,,xn)(x_0,x_1,\cdots,x_n)的插值多项式,为了估计误差f(x)Ln(x)f(x)-L_n(x),另取一个插值节点xn+1x_{n+1},设Ln(x)\overline L_n(x)f(x)f(x)关于n个插值节点(x1,,xn,xn+1)(x_1,\cdots,x_n,x_{n+1})的插值多项式。根据插值余项定理,有:
f(x)Ln(x)=f(n+1)(ξ)(n+1)!i=0n(xxi) f(x)-L_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^n(x-x_i)

f(x)Ln(x)=f(n+1)(η)(n+1)!i=1n+1(xxi) f(x)-\overline L_n(x)=\frac{f^{(n+1)}(\eta)}{(n+1)!}\prod_{i=1}^{n+1}(x-x_i)


f(x)Ln(x)f(x)Ln(x)=f(n+1)(ξ)f(n+1)(η)xx0xxn+1 \frac{f(x)-L_n(x)}{f(x)-\overline L_n(x)}=\frac{f^{(n+1)}(\xi)}{f^{(n+1)}(\eta)}·\frac{x-x_0}{x-x_{n+1}}
f(n+1)(x)f^{(n+1)}(x)在插值区间上变化不大,则f(n+1)(ξ)f(n+1)(η)f^{(n+1)}(\xi)\approx f^{(n+1)}(\eta),有:
f(x)Ln(x)xx0x0xn+1(Ln(x)Ln(x)) f(x)-L_n(x)\approx \frac{x-x_0}{x_0-x_{n+1}}(L_n(x)-\overline L_n(x))
只要Ln(x)Ln(x)L_n(x)-\overline L_n(x)足够小,就能保证f(x)Ln(x)<ϵf(x)-L_n(x) < \epsilon。这种利用相关两次的插值计算结果来估计误差大小的方法,称为事后误差估计方法。

2. 高次插值的Runge(龙格)现象

在区间[a,b][a,b]上,运用Lagrange插值公式进行插值,插值节点数越多,插值多项式的次数越高,插值函数和被插值函数重合的点(在插值节点上)也越多,插值计算结果的精度是否也越高呢?

定义2:设有n+1n+1个插值节点的插值多项式为pn(x)p_n(x),如果对于任意的ϵ>0\epsilon>0,存在正整数N,当n>Nn>N时,对被插值的函数f(x)f(x)及所有x[a,b]x\in [a,b],有
f(x)pn(x)<ϵ f(x)-p_n(x)<\epsilon
成立,则称pn(x)p_n(x)一致收敛于f(x)f(x)

考察[1,1][-1,1]区间内等节距点的f(x)f(x)的Lagrange插值。对于像sinxsin\,xexe^x这样性态较好的函数,其所有导数有同样的常数界M,误差Rn(x)=f(x)pn(x)R_n(x)=f(x)-p_n(x)随着n的增加而趋向零,因此增加插值节点数有利于提高插值结果的精度。但在一般情况下,答案是否定的。例如,对于函数f(x)=11+x2f(x)=\frac{1}{1+x^2},当nn\to \infty时,Rn(x)R_n(x)是增加的。

插值余项 + 高次插值的Runge现象 | Lagrange拉格朗日插值(二)
插值余项 + 高次插值的Runge现象 | Lagrange拉格朗日插值(二)

若节点数增加,则振荡加剧,该问题是由于插值节点是等距造成的,这种对等距插值节点进行高次插值时发生的不收敛现象称为Runge现象

一般,为减小Lagrange插值的阶段误差,提高插值精度,可以采用如下措施:

(1)在插值区间内,只能在一定范围(n7)(n\leq 7)内依靠增加插值节点的方法提高插值精度,并应该尽量避免使用高次插值,以防止出现Runge现象。

(2)修改插值条件,如要求插值函数和被插值函数在某些节点具有相同导数,则应采用Hermite(埃尔米特)插值等。

(3)减小插值区间或将插值区间分成若干小段,并在每一小段上使用低次插值,即采用分段插值和样条插值。