张瑞
中国科学技术大学数学科学学院
rui@ustc.edu.cn |
Newton插值就具有这种承袭性。
定义 1.
节点互不相同,定义函数的一阶差商为
定义的n阶差商为
差商具有如下性质
定理 1.
阶差商 可以展开为
证明. 用数学归纳法
定理 2.
函数的差商与节点的次序无关,即
其中是的任一排列
证明. 由展开式可得。
例 1. 设,其中, 是常数,试证明
证明. 利用差商的展开式
例 2. 若
求, 的值。
解. 找不同的点。,
由差商公式
得到
类似,
有
这样,有
记
则有
和
在(*)和(**)式中,取,则有
所以,有。
这样,是关于节点的插值多项式,称为Newton型插值多项式。
它的误差为
问题. 如何计算 Newton 插值 ?
例 3. 已知函数的值:, , , 。 求满足如上插值条件的Newton型多项式。
解. 构造差商表
一阶差商 | 二阶差商 | 三阶差商 | ||||
-1 | 0 | |||||
0 | -4 | -4 | ||||
1 | -2 | 2 | 3 | |||
2 | 5 | 7 | 2.5 | -1/6 | ||
则有
输入x[i],y[i],i=0,1,...,n
// 求差商表,各阶差商直接存在y[i]单元内
for i=1 to n
for j=n to i
y[j]=(y[j]-y[j-1])/(x[j]-x[j-i]) // 得到的i阶差商,直接存在y[j]单元上
end for
end for
// 求值,在x处
t=y[n]
for i=n-1 to 0
t = t*(x-x[i])+y[i]
end for
// 现在t 就是N_n(x)
问题. 上述代码的问题是: 增加一个节点,整个计算过程要重新计算。
这与Newton插值的承袭性是不符合的,可以改进吗?
思考:
已知节点组及各阶差商
现在增加节点,如何以最小的代价(存贮量和计算量)得到
从而得到高一阶的Newton插值多项式。
三种插值方法的比较,
是插值多项式,也可以通过下面的例子,直接证明它与Lagrange型多项式是相等的。 .
例 4. 记上的Lagrange插值多项式为,若有
试证明
证明. 用Lagrange型的表达式,及差商的展开式即证。具体过程作为作业完成
由插值多项式的存在唯一性,与Lagrange型插值多项式是相等的,因而有相同的误差。 则有
因此,有
定理 3.
个互不相同节点的阶差商有如下关系
其中
利用前面的定理,可以把差商的概念再推广一点。
定义 2.
若在点具有阶导数,则定义
进而,有
例 5. 已知,求
解. 由差商与导数的关系,
能否给出一般性的结论?
定理 4.
若是次多项式,则有
其中为的系数。
定理 5.
如果的阶差商是的次多项式,则是的次多项式
证明. 定义次多项式
则,即是多项式的根。 由多项式的特性知,
其中是次多项式。
因此,
更进一步,有
定理 6.
若是次多项式,则是次多项式,其中
证明. 利用定理5
例 6.
6.