插值多项式的牛顿法
1.为何需要牛顿法?
使用Lagrange插值法不具备继承性。当求好经过$({x_0},{y_0})-({x_n},{y_n})$共n+1个点的插值曲线时候,如果再增加一个点,由Lagrange插值法通式$$\sum_{k=0}^{n}\frac{\prod_{i=0,i\ne k}^{n}(x-x_i)}{\prod_{i=0,i\ne k}^{n}(x_k-x_n)}y_k$$可以知道,当再增加一个点时候,Lagrange 多项式还要重新计算以确定系数。
2.牛顿插值多项式
由线性代数的知识可以知道,任何n次多项式都可以表示成1,$(x-x_0)$,$(x-x_0)(x-x_1)$,${\ldots}$,$(x-x_0)(x-x_1){\ldots}(x-x_{n-2})(x-x_{n-1})$ 的线性组合形式,牛顿插值多项式正是基于这一点。$N_n$(x)=$a_0$+$a_1$($x-x_0$)+$a_2$($x-x_0$)($x-x_1$)+${\ldots}$+$a_n(x-x_0)(x-x_1)(x-x_2){\ldots}(x-x_{n-1})$,其中$a_k$为插值多项式的待定系数。(一下关于牛顿插值多项式系数计算是基于各x结点的等距条件)
3.牛顿向前差分公式
假设$x=x_k,$则此时$y=y_k$,这样,若$a_0,a_1,a_2\dots$则可以求出$a_k$。因为$N(x_k)=y_k$,而对于含有$a_{k+1},a_{k+2}\dots a_{n}$项代入$x_k$后值为0。那么所求$a_k$=$$\frac{y_k-()}{\prod_{i=0}^{k-1}x_k-x_i}$$,在假设$x_k$为等距结点的时候,$x_k$可以表示为$x_k=x_0+kh$,其中h为步长。那么所求$a_k$近似可表示为$a_k=\frac{y_k-()}{k!h^k}$。
定义 f(x)在$x_k$处的向前差分为$\Delta y=y_{k+1}-y_k$,相应的我们可以定义$\Delta y$的差分,也就是y的二阶向前差分$\Delta^{2} y_k=\Delta y_{k+1}-\Delta y_k$; 这样,类似我们可以定义y的m阶向前差分$\Delta ^{m} y_k = \Delta ^{m-1} y_{k+1} -\Delta ^{m-1} y_k$。在等距结点$x=x_0+kh$ 的条件下我们可以利用向前差分来导出系数的计算。
4.牛顿向前差分公式系数计算
由$N_n(x_0)=y_0$可以得到$a_0$的表达式为$a_0=y_0$,这样我们可以定义y的零阶向前差分$\Delta ^0 y=y0$,这样利用3中推出的$a_k$表达式可以将这个结果化为这样的形式$a_0=\frac{\Delta^0 y_0}{0!h^0}$。我们再来看$a_1$的表达式。因为$N_n(x_1)=y_1=a_0+a_1(x_1-x_0)$,而$a_0$为$y_0$,则$a_1=\frac{y_1-y_0}{x_1-x_0}=\frac{\Delta^1 y_0}{1!h^1}$。同样的,我们来计算$a_2$的表达式。$N_n(x_2)=a_0+a_1(x_2-x_0)+a_2(x2-x_0)(x_2-x_1)=y_2$,而又因为$x_2-x_0=2h,a1$可以表示成$\frac{\Delta y_0}{h}$,因而可以将$a_2$表示为$a_2=\frac{y2-y0-\frac{\Delta y_0}{h}2h}{(x_2-x_0)(x_2-x_1)}=\frac{y_2-y_0-2(y_1-y_0)}{2!h^2}=\frac{(y_2-y_1)-(y_1-y_0)}{2!h^2}=\frac{\Delta^2 y_0}{2!h^2}$,这样规律就很明显了。事实上,通过计算我们可以得到$a_k$的表达式为$a_k=\frac{\Delta ^k y_0}{k!h^k}(k=0,1,\cdots {n-1},{n})$,于是我们可以将牛顿多项式完整的表达出来了---$N_n(x)=\frac{\Delta ^0 y_0}{0!h^0}+\frac{\Delta ^1 y_0}{1!h^1}(x-x_0)+\frac{\Delta ^2 y_0}{2!h^2}(x-x_0)(x-x_1)+\cdots+\frac{\Delta ^k y_0}{k!h^k}(x-x_0)(x-x1)\cdots(x-x_{k-1})+$$\cdots+\frac{\Delta ^n y_0}{n!h^n}(x-x_0)(x-x_1)\cdots(x-x_{n-1})$。这样我们就得到了牛顿插值公式的完整表达,通过计算$y_0$的n阶向前差分就可以得到结果了。
5.如何再化简?
我们再x等距取样条件下得到了牛顿插值多项式的表达式,同样的,可以充分利用这个条件。也就是设x=$x_0+th$,其中h为步长。这样$$\sum_{i=0}^{k-1}(x-x_i)=th(t-1)h\cdots*(t-k+1)h=A_t^kh^k$$,而系数$a_k=\frac{\Delta ^k y_0}{k!h^k}$,所要整合式子可以得到$N_n(x_0+th)=y_0+t\Delta y_0+\frac{t(t-1)\Delta ^2 y_0}{2!}+\cdots+\frac{t(t-1)\cdots(t-n+1\Delta ^ny_0)}{n!}$=$\sum_{k=0}^{n}\frac{A_t^k \Delta ^k y_0}{k!}$
最后说明
这里只是利用了等距取点条件计算的牛顿插值公式表达式,实际情况下取的点不一定等距,因此,在不等距的条件下相应还要计算方法(后面我会逐渐整理的)。除此之外,还可以用向后差分,中心差分法,限于时间,往后再整理了。