当前课程知识点:数值分析 > 第五章 插值法 > 5.3 Newton 插值多项式(1)差商型 > Newton 插值多项式(1)差商型
同学们好
我是北京理工大学的朱国庆老师
今天接着给大家来讲
插值多项式当中的第二种插值理论
牛顿插值
首先前面拉格朗日插值多项式 l1(x)
一般来说我们可以看作
直线两点式的推广
但是
直线还有另外一种写法
叫做点斜式的写法
我们把这个直线p1(x)写成f0
加上f1减掉f0 除上x1-x0
这是斜率
然后乘上x-x0的形式
那么这个里面呢
我们这个直线
把(x0,f0) (x1,f1)这两个点的形式
按照点斜式的这种写法
我们总结一下规律就是
前面f0刻画的是x的0阶项
也就是常数项的部分
后面呢
我们把x1-x0这一部分
叫做一次项部分
如果我们把两个节点
推广了三个节点
乃至n+1节点的时候
我们其实可以把这个插值多项式
改写成这样的一个形式
pn(x)等于a0加上a1(x-x0)
a2(x-x0)(x-x1)
也就是前面a0代表的是x的0次幂
a1这一部分实际上是指含有x的一次幂
当然了也有一个a1x0的 常数部分
后面a2是二次幂部分
an是x-x0
x-xn-1
其实这里面
an代表的是x的n次幂
是最高次的那个幂次
然后后面的式子
前面的那个a1一次的那个部分
在a2那个地方其实含的也有
这个里面的a j
我们都叫做待定的系数
这个a j
这里面一共是j从0一直到n
一共是n+1个
所以我们需要n+1个条件来把它确定下来
这里面条件就是xj之上
函数值是等于fj的
我们来看一下
如果我们把pn(x)这个表达式当中的x0
代入到这个表达式当中
左边是pn
x0就等于a0
等于f0了
然后我们把x1代入到第二行当中
这是一个a0
加上a1(x1-x0)等于f1
第三行是把x2代入到这个pn(x)的表达式当中
首先 我们来看
通过第一个表达式f0等于a0
我们可以把a0算出来
在a0知道的情况之下
在第二个表达式当中
a0知道 右端f1知道
左端x1-x0都知道
所以我们可以把a1算出来
完全类似的
我们知道了a0 a1和f2
那么我们还可以把a2算出来
这种计算的话
我们通过这个公式的形式写下来
大家看起来可能有一点点的啰嗦
但是有一个规律
首先第一行a0等于f0
这个是一个等式
第二行
a1等于f1-f0 除上x1-x0
这个形式其实在大家学微积分的时候
这个形式有一个说法
如果我们把(x0,f0)当作一个点
(x1,f1)当做一个点
那么f1减掉f0
我们一般来说叫做函数的改变量
也叫做函数的增量
x1-x0
我们叫做自变量的增量
也叫做自变量的改变量
那么这个a1
它等于f1-f0
除上x1-x0
其实在这个微积分当中
它叫做函数的改变量除上自变量的改变量
按照前面这个微积分当中的定义
如果x1趋近x0的话
这个其实刻画的是x0点的导数
当然了
x1不趋近x0的时候
还有一个拉格朗日中值定理的形式
那么这个其实是等于
函数f在(x0,x1)区间内的
某一个点之上的导数值
我们一般来说
这个地方我们称之为
x0在x1这个区间上的
某个点的导数的形式
点不知道的话
我们叫做平均的变化率
根据这种形式的写法
a2也可以视为
这个(x0,x2)的平均变化率
减掉(x0,x1)的平均变化率
在除上x2-x1
我们按照这种形式的写法
一般来说
我们引入一个差商的概念
其实就是平均变化率的意思
我们来看一下差商的定义
数学上说
假设函数f(x) 有一组互异的节点x0 x1 xn
我们称f(xi)-f(xj) 除上xi-xj
分子分母分别对应的位置当中
分母上是xi的话
分子是f(xi)
这种形式
我们称之为函数f(x)关于xi xj的一阶差商
其实就是xi xj
在这两个节点是互异的
我们在这两个节点区间之上的平均变化率
同样的
如果我们知道了f在xi xj的一阶差商
也知道了xj xk上的一阶差商
那么这两个一阶差商再做个减法
再除上xi-xk
我们可以定义一个xi xj xk的二阶差商
完全类似的
我们知道了x0 x1 xk-1
还有x1 x2 xk的
分别都是k-1阶差商的话
那么k-1阶差商在做减法
除上x0-xk
我们可以定义x0 x1 xk的k阶差商
我们看一下
差商
首先它具备一个叫做线性的性质
fx等于aΦ(x)+bψ(x)的话
那么f[x0,x1,...xk]就具备了
a加上Φ那个Φx做k阶差商
然后那个ψ也做k阶差商就可以了
同样的差商
是由这个函数值计算出来的
所以我们可以把差商
写成函数值的线性组合的形式
第三个
我们知道函数x 分子跟分母当中
分母当中的x i
分别对应的分子当中f(x) f(i)
那么它们交换次序
这个除法其实是不改变符号的
所以这个差商还具备一定的对称性
这里面最后一个性质
n次多项式函数
关于xi xj的一阶差商是一个n-1次的多项式
我们是这么来考虑的
假设pn(x)是n次多项式
p(x)写成pn(x)-pn(xi)的形式
仍然是一个n次多项式
当x取成xi的时候
这个p(xi)
它是等于0的
所以p(x)可以写成(x-xi)
乘上pn-1(x)的这种形式
pn[x,xi]的一阶差商就等于
pn(x)-pn(xi)除以x-xi
当然就等于n-1次的多项式了
那么关于差商
我们计算的时候
一般是采用差商表格的形式
xi 最左侧这一列
xi取x0 x1 x2 x3
那么第二列我们写成f(xi) f(x0)
f(x1) f(x2) f(x3)
那么第三列 我们可以写它的一阶差商
一阶差商呢
比如说这个f[x0,x1]的一阶差商
就是拿f(x1)-f(x0)
除上x1-x0的形式
那么f[x1,x2]的一阶差商
它是拿f(x2)-f(x1)
除上x2-x1
这是得到了它的一阶差商
然后f(x3)-f(x2)
除上x3-x2
我们定义了一个f[x2,x3]的一阶差商
完全类似的
根据一阶差商
我们还可以再来计算二阶差商
根据二阶差商
我们还可以用来计算三阶差商
牛顿插值的理论
我们可以通过差商的定义
给一个新的写法
首先
我们把f(x)写成f(x0)+(x-x0)
乘上f[x,x0]的一阶差商
这个其实是一阶差商的定义
同样一阶差商
也可以写成一阶差商 二阶差商组合的形式
其实就是把一阶差商当中的那个
f[x0,x1]用后面的二阶差商代替了
完全类似的
x x0 x1的二阶差商写成
f[x0,x1,x2]的二阶差商
后面是(x-x2)
乘上x x0 x1 x2的三阶差商
这样的话 依次代入
我们可以把f(x)写成f(x0)
加上(x-x0)
这是f(x0)和x1的一阶差商
后面是x-x0 x-x1
乘上[x,x0,x1,x2]的二阶差商
我们把前面的含有这个已知的
[x0 ,x1] [x0,x1,x2] [x0, x1,xn]的
已知节点之上的差商
这一部分单独写下来
写成N N(x)
后面有一个f(x)的差商那部分
写成Rn(x)
我们知道前面的f(x0)是知道的
然后那个一阶差商 二阶差商
一直到x0 xn的N阶差商
全都是知道的
前面这部分
我们一般来说
都叫做牛顿插值多项式
余项部分Rn(x)
就是f(xi)减掉
Nn(x)的话
那么就是它的余项的部分了
这个Nn(x)单独写出了
这个称为f(x)的n次
牛顿插值多项式
这个就是我们给大家介绍的第二种
构造插值多项式的方法
我们来看一下
第二种牛顿插值多项式的方法构造出来了之后
它的插值余项就是拿f(x)减掉Nn(x)
这就是刚才写到的那个(x-x0)(x-x1)...(x-xn)
后面一项f[x,x0, x1, xn]
这个是n+1阶的差商
这里面那个x我们是不知道的
前面那个拉格朗日多项式构造了之后
有一个叫做拉格朗日插值余项的问题
拉格朗日插值余项
前面写的是(x-x0)(x-1)
后面是(x-xn)
但是它乘的那一部分
是f函数在ξ点的n+1阶导数
然后再除上n+1的阶乘
这两个余项是不一样的
然后我们前面专门讲过
这个插值多项式
不管是拉格朗日插值多项式也好
牛顿插值多项式也好
都是给定的函数f(x)的
n+1个节点上的插值多项式
它们存在唯一性
这个Ln(x)跟N(x)是一样的
然后我们的插值余项
牛顿型的插值余项
差商的这个余项是ωn+1(x)
还有那个f在[x,x0, x1...xn]的差商
它和右边的ωn+1(x)
和这个f在ξ点的n+1阶导数
除上n+1的阶乘
这都是相等的
这样的话
我们就可以得到了差商跟导数之间的关系
x0 x1 xn
这是一个节点
它的n阶差商
它实际上就等于函数f在某个区间
[x0,xn]最大区间之内
某个点上的n阶导数值
除上这个n+1的阶乘
这里面
我们讨论这个节点的时候
这个ξ是不知道的
那么我们就没办法来进行计算了
差商表格的计算
我们一般来说是这么来写的
第一列写成xi还是x0 x1 x2 x3
然后第二列f(xi)写成f(x0) f(x1) f(x2) f(x3)
那么第三列
我们计算一阶差商
第四列我们计算二阶差商
第五列计算三阶差商
都是依次进行计算的
我们在这个差商表格的右侧再加一列
第一行写成1
第二行写成x-x0
第三行写成x-x0乘上x-x1
写成连乘积的形式了
第四行 我们写x-x0
乘上x-x1
乘上x-x2
也写成连乘积的形式
那么我们来看
牛顿插值多项式当中
那个Nnx其实就是拿f(x0)乘上1
再加上x-x0
乘上f[x0,x1]的一阶差商
然后是f[x0,x1,x2]的二阶差商
乘上(x-x0) (x-x1)
然后再加上f[x0,x1,x2,x3]
乘上x-x0 x-x1 x-x2
也就是说牛顿插值多项式
本质上而言
就是拿对角线的这个差商
也就是f(x0)是函数值
f[x0,x1]是一阶差商
f[x0,x1,x2]是二阶差商
f[x0,x1,x2,x3]三阶差商
分别乘上右端项
然后我们就可以直接构造出来
牛顿的差插值多项式了
这个是计算牛顿插值多项式最简单的方法
下面我们看看这个具体的实例
我们如果已经知道了函数的函数表格如下
我们想用牛顿方法来求ln11.5的近似值
首先构造差商表
然后第一列写xi
因为我们讨论的是11.5附近的近似值
我们取11 12 13
函数yi
我们取得是11 12 13
分别对应的这个函数值
一阶差商 二阶差商 右端项
依次进行
然后我们如果是想采用
线性的牛顿插值多项式的话
那么我们只需取前两行就行了
如果是二次牛顿插值多项式的话
我们可以取三行
线性插值的时候
拿这个2.3979记成是x11的时候
它的函数值再加上对角线部分乘上x-11
然后把x取成11.5
就是它的近似值了
同样的
二次插值的时候
我们把那个N2(x)写成a0
加上a1
乘上x-11
其实前面这个二次插值的线性部分
和上面的线性插值是一样的
然后是增加了一个-0.0035
乘上x-11 乘上x-12
那么我们把N2(x)当中的x取成11.5
就得到了这个11.5
它的二次插值的一个近似值
我们再来看一个例子
已知函数f(x)的函数表
让求四次牛顿插值的多项式
并且计算0.596的近似值
并估计误差
这里面提醒大家注意的就是
如果是用牛顿的差商型的这种写法的话
这个误差估计是有一点小问题的
同样我们做一个差商表
第一列xi 第二列yi
第三列一阶差商
第四列二阶差商
第五列三阶差商
这里面是四次多项式
所以我们还需要算到四阶差商
N4(x)具体的形式
a0加上a1(x-0.4)
然后0.28乘上(x-0.4) (x-0.55)的连乘积
然后再加上0.19733
然后(x-0.4) (x-0.55) (x-0.65)的连乘
后面是0.03134
(x-0.4) (x-0.55) (x-0.65) (x-0.8)
它的连乘积的形式
首先我们说
当N4(x)中 x取成0.596的时候
我们把它当作函数f在0.596的一个近似值
下面问题就是说计算误差的时候
我们要算的是函数f在0.596的差商型的误差
我们要把那个xi
x取成0.596
这里面实际上是制作了一个近似
这个误差
实际上就相当于在差商表格当中
再加上最后的一行0.596放到0.9下面
做它的函数值
这个函数值取得是近似值
不再是函数0.596的列值
然后算它的一阶差商
二阶差商 三阶差商 四阶差商
当然最后还有一个五阶差商
就是我们这个误差估计当中
需要的这个结果
代进去算一下
大概是0.33
乘上10的-4次方
好 这道题我们就讲到这里
这节的内容分享到此结束
-1.1 误差的概念
--误差的概念
-1.2 误差的传播
--误差的传播
-第一章 习题
--第一章 习题
-2.1 Gauss消去法
--Gauss消去法
-2.2 矩阵的三角分解
--矩阵的三角分解
-2.3 直接三角分解法
--直接三角分解法
-2.4 平方根法和改进的平方根法
-2.5 误差分析(1)向量和矩阵范数
-2.6 误差分析(2)条件数
-第二章 习题
--第二章 习题
-3.1 Jacobi迭代法和Gauss-Seidel 迭代法
-3.2 迭代法收敛性的判别
-3.3 误差分析
--误差分析
-第三章 习题
--第三章 习题
-4.1 幂法
--幂法
-4.2 反幂法
--反幂法
-第四章 习题
--第四章 习题
-5.1 多项式插值理论
--多项式插值理论
-5.2 Lagrange 插值多项式
-5.3 Newton 插值多项式(1)差商型
-5.4 Newton 插值多项式(2)差分型
-5.5 分段线性插值
--分段线性插值
-5.6 Hermite 插值
-第五章 习题
--第五章 习题
-6.1 数据拟合的最小二乘法(1)多项式拟合
-6.2 数据拟合的最小二乘法(2)其他函数拟合
-6.3 正交多项式
--正交多项式
-6.4 函数的最佳平方逼近
-第六章 习题
--第六章 习题
-7.1 数值微分
--数值微分
-7.2 Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式
--Newton-Cotes求积公式(1)数值积分的基本思想、Newton-Cotes公式
-7.3 Newton-Cotes求积公式(2)误差估计
-7.4 复化求积公式
--复化求积公式
-7.5 Romberg求积公式、Gauss型求积公式
-第七章 习题
--第七章 习题
-8.1 Romberg求积公式、Gauss型求积公式
-8.2 简单迭代法的加速、牛顿法与弦截法
-第八章 习题
--第八章 习题
-9.1 常微分方程数值解法概述
-9.2 Euler方法及其改进方法
-第九章 习题
--第九章 习题


