昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

2.3均差与牛顿插值法

均差与牛顿插值多项式 完整讲解与推导证明

各位同学,今天我们用多年数值分析研究与教学的经验,把均差(差商)与牛顿插值多项式这个核心知识点,从背景引入、公式推导、性质证明到工程应用,讲透讲全,不留任何模糊点。

一、引入背景:为什么要发明牛顿插值?

我们已经学过拉格朗日插值多项式,它的公式结构紧凑,在理论分析中价值极高,但它有一个致命的工程缺陷:当插值节点增减时,所有的插值基函数都要重新计算,之前的计算结果完全无法复用

比如你先算完3个节点的二次插值,现在要新增1个节点算三次插值,拉格朗日插值需要把4个基函数全部重算一遍,计算量完全重复。

而牛顿插值的核心设计思想,就是逐次生成、递推构造:新增节点时,只需要在原有插值多项式的基础上,新增一个修正项即可,之前的计算结果100%复用,极大降低了计算量,也更适合编程实现。


二、插值多项式的逐次生成:牛顿插值的形式推导

我们从低次到高次,一步步推导牛顿插值的通用形式,理解它的递推逻辑。

1. 零次插值(常数插值)

零次多项式是常数,满足插值条件 \(p_0(x_0)=f(x_0)\),直接得到:

\[p_0(x) = f(x_0) \]

我们把它称为零阶插值,是所有高次插值的基础。

2. 一次插值(线性插值)

现在新增节点 \(x_1\),要构造一次多项式 \(p_1(x)\),满足 \(p_1(x_0)=f(x_0),\ p_1(x_1)=f(x_1)\)

我们不直接构造拉格朗日基函数,而是在零次插值的基础上做修正,构造形式为:

\[p_1(x) = p_0(x) + a_1(x-x_0) \]

这个形式的优势很明显:当 \(x=x_0\) 时,第二项为0,自动满足 \(p_1(x_0)=f(x_0)\),我们只需要确定系数 \(a_1\),让 \(p_1(x_1)=f(x_1)\) 即可。

\(x=x_1\) 代入上式:

\[f(x_1) = f(x_0) + a_1(x_1 - x_0) \]

解出系数:

\[a_1 = \frac{f(x_1)-f(x_0)}{x_1 - x_0} \]

这个系数就是函数 \(f(x)\)\(x_0,x_1\) 上的一阶均差(差商),记为 \(f[x_0,x_1]\)

3. 二次插值(抛物线插值)

再新增节点 \(x_2\),构造二次多项式 \(p_2(x)\),满足 \(p_2(x_0)=f(x_0),\ p_2(x_1)=f(x_1),\ p_2(x_2)=f(x_2)\)

同样沿用递推修正的思路,在一次插值的基础上构造:

\[p_2(x) = p_1(x) + a_2(x-x_0)(x-x_1) \]

验证前两个节点:\(x=x_0\)\(x=x_1\) 时,第二项均为0,自动继承了一次插值的结果,满足前两个插值条件。我们只需要确定 \(a_2\),让 \(p_2(x_2)=f(x_2)\)

\(x=x_2\) 代入,解出:

\[a_2 = \frac{f(x_2) - p_1(x_2)}{(x_2 - x_0)(x_2 - x_1)} \]

\(p_1(x_2)=f(x_0)+f[x_0,x_1](x_2-x_0)\) 代入分子,整理后得到:

\[a_2 = \frac{\frac{f(x_2)-f(x_0)}{x_2 - x_0} - \frac{f(x_1)-f(x_0)}{x_1 - x_0}}{x_2 - x_1} = \frac{f[x_0,x_2] - f[x_0,x_1]}{x_2 - x_1} \]

这个系数就是二阶均差,记为 \(f[x_0,x_1,x_2]\),本质是“一阶均差的均差”。

4. 推广到n次牛顿插值多项式

按照上面的递推逻辑,对于 \(n+1\) 个互异节点 \(x_0,x_1,\dots,x_n\),我们要构造满足插值条件 \(p_n(x_i)=f(x_i)\ (i=0,1,\dots,n)\) 的n次多项式,直接给出递推构造的通用形式:

\[\begin{aligned} p_n(x) &= a_0 + a_1(x-x_0) + a_2(x-x_0)(x-x_1) + \dots \\ &\quad + a_n(x-x_0)(x-x_1)\dots(x-x_{n-1}) \end{aligned} \]

这就是牛顿插值多项式的标准形式

通过数学归纳法可以证明,系数 \(a_k\) 就是函数 \(f(x)\) 在节点 \(x_0,x_1,\dots,x_k\) 上的k阶均差,即:

\[a_k = f[x_0,x_1,\dots,x_k],\quad k=0,1,\dots,n \]

其中零阶均差定义为 \(f[x_0] = f(x_0)\),对应系数 \(a_0\)


三、均差(差商)的严格定义与核心性质证明

要完全掌握牛顿插值,必须先吃透均差这个核心工具,我们给出严格的递归定义,并对核心性质做完整证明。

1. 均差的递归定义

  • 零阶均差:函数 \(f(x)\) 在节点 \(x_i\) 处的零阶均差,就是函数值本身:

    \[f[x_i] = f(x_i) \]

  • 一阶均差:函数 \(f(x)\) 在两个节点 \(x_i,x_j\) 上的一阶均差,定义为函数值的差与自变量差的比值:

    \[f[x_i,x_j] = \frac{f[x_j] - f[x_i]}{x_j - x_i} \]

    本质是函数在区间 \([x_i,x_j]\) 上的平均变化率。
  • k阶均差:函数 \(f(x)\)\(k+1\) 个节点 \(x_0,x_1,\dots,x_k\) 上的k阶均差,递归定义为:

    \[f[x_0,x_1,\dots,x_k] = \frac{f[x_0,x_1,\dots,x_{k-2},x_k] - f[x_0,x_1,\dots,x_{k-1}]}{x_k - x_{k-1}} \]

    核心逻辑:k阶均差 = 两个k-1阶均差的差 / 对应节点的差

2. 均差的核心性质与严格证明

性质1:k阶均差可表示为节点函数值的线性组合

\[f[x_0,x_1,\dots,x_k] = \sum_{j=0}^k \frac{f(x_j)}{(x_j-x_0)(x_j-x_1)\dots(x_j-x_{j-1})(x_j-x_{j+1})\dots(x_j-x_k)} \]

证明(数学归纳法)

  • 基例:\(k=1\) 时,一阶均差 \(f[x_0,x_1] = \frac{f(x_1)-f(x_0)}{x_1-x_0} = \frac{f(x_0)}{x_0-x_1} + \frac{f(x_1)}{x_1-x_0}\),与公式一致,成立。
  • 归纳假设:假设 \(k=m-1\) 时公式成立,即 \(m-1\) 阶均差可表示为对应节点函数值的线性组合。
  • 归纳递推:对于 \(k=m\) 阶均差,代入递归定义,将归纳假设的两个 \(m-1\) 阶均差展开,化简后可得到 \(m\) 阶均差的线性组合形式,与公式完全一致。

由数学归纳法,该性质对所有 \(k\geq0\) 成立。


性质2:均差的对称性

均差的值与节点的排列顺序无关,任意交换两个节点的位置,均差的值不变,即:

\[f[x_0,x_1,\dots,x_k] = f[x_{i_0},x_{i_1},\dots,x_{i_k}] \]

其中 \(i_0,i_1,\dots,i_k\)\(0,1,\dots,k\) 的任意排列。

证明
由性质1的线性组合表达式,均差是各节点函数值的线性组合,每个项的分母是该节点到其他所有节点的差的乘积。交换节点的顺序,仅改变求和的顺序,每个 \(f(x_j)\) 对应的分母完全不变,因此整个和的值不变。对称性得证。

由对称性,我们可以得到均差的另一个常用递归式:

\[f[x_0,x_1,\dots,x_k] = \frac{f[x_1,x_2,\dots,x_k] - f[x_0,x_1,\dots,x_{k-1}]}{x_k - x_0} \]

这个式子用首尾节点的差做分母,计算和证明中非常常用。


性质3:均差与导数的关系(微分中值定理的推广)

若函数 \(f(x)\) 在包含节点 \(x_0,x_1,\dots,x_n\) 的区间 \([a,b]\) 上存在 \(n\) 阶连续导数,则在 \((a,b)\) 内至少存在一点 \(\xi\),使得:

\[f[x_0,x_1,\dots,x_n] = \frac{f^{(n)}(\xi)}{n!},\quad \xi\in(a,b) \]

证明(罗尔定理)

  1. 构造辅助函数 \(\varphi(x) = f(x) - p_n(x)\),其中 \(p_n(x)\) 是n次牛顿插值多项式,满足 \(p_n(x_i)=f(x_i)\),因此 \(\varphi(x)\)\([a,b]\) 上有 \(n+1\) 个互异零点 \(x_0,x_1,\dots,x_n\)
  2. 由罗尔定理,\(\varphi'(x)\) 在相邻零点之间至少有1个零点,因此 \(\varphi'(x)\)\((a,b)\) 内至少有 \(n\) 个互异零点。
  3. 重复应用罗尔定理,第 \(n\) 次应用后可得:\(\varphi^{(n)}(x)\)\((a,b)\) 内至少有1个零点,记为 \(\xi\),即 \(\varphi^{(n)}(\xi)=0\)
  4. 计算n阶导数:\(p_n(x)\) 是n次多项式,其n阶导数为 \(n!\cdot a_n = n!\cdot f[x_0,x_1,\dots,x_n]\),因此:

    \[\varphi^{(n)}(x) = f^{(n)}(x) - n!\cdot f[x_0,x_1,\dots,x_n] \]

  5. 代入 \(\xi\) 得:\(f^{(n)}(\xi) - n!\cdot f[x_0,x_1,\dots,x_n] = 0\),整理后即得证。

性质4:多项式的均差性质

\(f(x)\)\(m\) 次多项式,则:

  • \(k\leq m\) 时,\(f(x)\) 的k阶均差是 \(m-k\) 次多项式;
  • \(k>m\) 时,\(f(x)\) 的k阶均差恒为0。

证明
\(m\) 次多项式的 \(m+1\) 阶导数恒为0,由性质3,\(m+1\) 阶均差 \(f[x_0,\dots,x_m] = \frac{f^{(m+1)}(\xi)}{(m+1)!}=0\),因此 \(k>m\) 时均差恒为0;\(k\leq m\) 时,k阶均差的最高次项次数为 \(m-k\),因此是 \(m-k\) 次多项式。


四、牛顿插值多项式的完整形式与余项

1. 完整的牛顿插值多项式

结合均差的定义,我们得到n次牛顿插值多项式的最终形式:

\[\begin{aligned} N_n(x) &= f[x_0] + f[x_0,x_1](x-x_0) + f[x_0,x_1,x_2](x-x_0)(x-x_1) + \dots \\ &\quad + f[x_0,x_1,\dots,x_n](x-x_0)(x-x_1)\dots(x-x_{n-1}) \end{aligned} \]

插值条件验证
由插值多项式的唯一性定理:满足 \(n+1\) 个互异节点插值条件的次数不超过n的多项式是唯一的。牛顿插值多项式与拉格朗日插值多项式满足完全相同的插值条件,因此二者是同一个多项式,即 \(N_n(x)\equiv L_n(x)\),自然满足所有插值条件。

2. 牛顿插值的余项

牛顿插值有两种余项形式,分别适用于不同场景:

(1)导数型余项(与拉格朗日余项一致)

\(f(x)\)\([a,b]\) 上存在 \(n+1\) 阶连续导数,则余项为:

\[R_n(x) = f(x) - N_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\cdot \omega_{n+1}(x),\quad \xi\in(a,b) \]

其中 \(\omega_{n+1}(x) = (x-x_0)(x-x_1)\dots(x-x_n)\)\(\xi\) 依赖于 \(x\) 的取值。

(2)均差型余项(牛顿插值特有,适用范围更广)

不需要 \(f(x)\) 有高阶导数,仅需 \(f(x)\) 在节点上有定义,余项即可表示为:

\[R_n(x) = f(x) - N_n(x) = f[x_0,x_1,\dots,x_n,x]\cdot \omega_{n+1}(x) \]

证明
\(x\) 看作一个新增的节点,对 \(n+1\) 阶均差做递归展开,最终可得到:

\[f(x) = N_n(x) + f[x_0,x_1,\dots,x_n,x]\cdot \omega_{n+1}(x) \]

移项后即得均差型余项。

这个余项的核心价值是:新增节点时,只需要计算新的高阶均差,就能直接在原有插值多项式上新增一项,完全复用之前的计算结果,完美解决了拉格朗日插值的节点增减问题。


五、均差表的构造与使用

实际计算中,我们通过均差表来高效计算各阶均差,表的结构与计算规则如下(以5个节点为例):

\(x_k\) \(f(x_k)\)(零阶均差) 一阶均差 二阶均差 三阶均差 四阶均差
\(x_0\) \(f(x_0)\)
\(x_1\) \(f(x_1)\) \(f[x_0,x_1]\)
\(x_2\) \(f(x_2)\) \(f[x_1,x_2]\) \(f[x_0,x_1,x_2]\)
\(x_3\) \(f(x_3)\) \(f[x_2,x_3]\) \(f[x_1,x_2,x_3]\) \(f[x_0,x_1,x_2,x_3]\)
\(x_4\) \(f(x_4)\) \(f[x_3,x_4]\) \(f[x_2,x_3,x_4]\) \(f[x_1,x_2,x_3,x_4]\) \(f[x_0,x_1,x_2,x_3,x_4]\)

计算规则

  1. 零阶均差直接填入 \(f(x_k)\)
  2. k阶均差 = \(\frac{\text{当前行的k-1阶均差} - \text{上一行的k-1阶均差}}{\text{当前行}x_k - \text{上k行的}x_{k-j}}\)
  3. 牛顿插值多项式的系数,就是均差表中第一行的各阶均差(表中斜向的元素)。

六、核心知识点归纳总结表

分类 核心内容与公式
牛顿插值核心思想 递推构造、逐次修正,新增节点仅需新增一项,复用之前的计算结果,解决拉格朗日插值节点增减需全量重算的缺陷
牛顿插值多项式形式 \(N_n(x) = \sum_{k=0}^n f[x_0,x_1,\dots,x_k] \cdot \prod_{j=0}^{k-1} (x-x_j)\),其中 \(\prod_{j=0}^{-1} (x-x_j)=1\)
均差递归定义 零阶:\(f[x_i]=f(x_i)\);一阶:\(f[x_i,x_j]=\frac{f[x_j]-f[x_i]}{x_j-x_i}\);k阶:\(f[x_0,\dots,x_k]=\frac{f[x_0,\dots,x_{k-2},x_k]-f[x_0,\dots,x_{k-1}]}{x_k-x_{k-1}}\)
均差核心性质 1. 可表示为节点函数值的线性组合;2. 对称性:与节点排列顺序无关;3. 与导数关系:\(f[x_0,\dots,x_n]=\frac{f^{(n)}(\xi)}{n!}\);4. m次多项式的k>m阶均差恒为0
插值余项 1. 导数型:\(R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega_{n+1}(x)\)(需n+1阶可导);2. 均差型:\(R_n(x)=f[x_0,\dots,x_n,x]\cdot\omega_{n+1}(x)\)(仅需函数值有定义,适用范围更广)
与拉格朗日插值的关系 满足相同插值条件的n次多项式唯一,因此 \(N_n(x)\equiv L_n(x)\);拉格朗日插值适合理论分析,牛顿插值适合工程计算与编程实现,节点增减时计算量远小于拉格朗日插值
均差表作用 高效计算各阶均差,直接提取牛顿插值多项式的系数,是工程实现的核心工具

牛顿插值多项式 完整推导与深度讲解

承接上一讲均差(差商)的核心内容,我们基于教材内容,完整推导牛顿插值多项式的构造逻辑、插值条件、余项性质、工程实现优势,把每一步公式的来龙去脉讲透,不留任何推导空白。


一、牛顿插值多项式的核心构造:从均差定义到恒等展开

牛顿插值的本质,是利用均差的递归定义,对函数f(x)做恒等变形,逐次构造出满足插值条件的多项式,整个过程没有任何近似,完全是恒等推导。

1. 从一阶均差出发的基础恒等式

根据一阶均差的定义,我们把待求点\(x\)看作一个自由节点,固定插值节点\(x_0\),则一阶均差为:

\[f[x,x_0] = \frac{f(x) - f(x_0)}{x - x_0} \]

将式子做恒等变形,直接得到:

\[\boldsymbol{f(x) = f(x_0) + f[x,x_0](x - x_0)} \tag{1} \]

这个式子是所有推导的基础:它把\(f(x)\)拆成了两部分,第一部分是零次多项式\(p_0(x)=f(x_0)\),第二部分是带均差的余项项。

2. 二阶均差的递推展开

我们再引入第二个插值节点\(x_1\),对式(1)里的一阶均差\(f[x,x_0]\),用二阶均差的定义做展开:

\[f[x,x_0,x_1] = \frac{f[x,x_0] - f[x_0,x_1]}{x - x_1} \]

同样做恒等变形,得到:

\[\boldsymbol{f[x,x_0] = f[x_0,x_1] + f[x,x_0,x_1](x - x_1)} \tag{2} \]

把式(2)代入式(1),就得到了\(f(x)\)的二阶展开式:

\[\begin{aligned} f(x) &= f(x_0) + \left[f[x_0,x_1] + f[x,x_0,x_1](x - x_1)\right](x - x_0) \\ &= \underbrace{f(x_0) + f[x_0,x_1](x - x_0)}_{一次插值多项式p_1(x)} + \underbrace{f[x,x_0,x_1](x - x_0)(x - x_1)}_{一阶余项R_1(x)} \end{aligned} \]

这里的\(p_1(x)\)就是满足\(p_1(x_0)=f(x_0),\ p_1(x_1)=f(x_1)\)的一次牛顿插值多项式,完全符合我们上一讲的递推构造逻辑。

3. 推广到n阶的完整展开

按照完全相同的逻辑,我们对每一次展开得到的最高阶均差,继续引入新的插值节点做递归展开:

  • 对二阶均差\(f[x,x_0,x_1]\),引入\(x_2\),展开为\(f[x,x_0,x_1] = f[x_0,x_1,x_2] + f[x,x_0,x_1,x_2](x-x_2)\)
  • 对三阶均差\(f[x,x_0,x_1,x_2]\),引入\(x_3\),做同样的展开
  • ...
  • 直到引入第\(n\)个节点\(x_n\),对\(n\)阶均差展开为:

    \[f[x,x_0,\dots,x_{n-1}] = f[x_0,x_1,\dots,x_n] + f[x,x_0,\dots,x_n](x - x_n) \]

把所有展开式从后往前依次代入,最终得到\(f(x)\)的完整恒等展开式:

\[\begin{aligned} \boldsymbol{f(x)} &= \underbrace{f(x_0) + f[x_0,x_1](x-x_0) + f[x_0,x_1,x_2](x-x_0)(x-x_1) + \dots + f[x_0,x_1,\dots,x_n](x-x_0)(x-x_1)\dots(x-x_{n-1})}_{\boldsymbol{n次牛顿插值多项式p_n(x)}} \\ &\quad + \underbrace{f[x,x_0,x_1,\dots,x_n] \cdot (x-x_0)(x-x_1)\dots(x-x_n)}_{\boldsymbol{插值余项R_n(x)}} \\ &= \boldsymbol{p_n(x) + R_n(x)} \end{aligned} \]


二、牛顿插值多项式的正式定义与插值条件验证

1. 正式定义

我们把展开式中的多项式部分,定义为n次牛顿插值多项式

\[\boldsymbol{ \begin{aligned} p_n(x) &= f(x_0) + f[x_0,x_1](x-x_0) + f[x_0,x_1,x_2](x-x_0)(x-x_1) + \dots \\ &\quad + f[x_0,x_1,\dots,x_n](x-x_0)(x-x_1)\dots(x-x_{n-1}) \end{aligned} } \tag{2.21} \]

对应的系数为:

\[a_k = f[x_0,x_1,\dots,x_k],\quad k=0,1,\dots,n \]

其中零阶均差\(f[x_0]=f(x_0)\),对应系数\(a_0\)

2. 插值条件的严格验证

我们需要证明:\(p_n(x)\)满足插值条件\(p_n(x_i) = f(x_i),\ i=0,1,\dots,n\),用数学归纳法+直接代入验证:

  1. \(x=x_0\)时,除了第一项\(f(x_0)\),后面所有项都包含因子\((x-x_0)\),代入\(x=x_0\)后全部为0,因此\(p_n(x_0)=f(x_0)\),成立。
  2. \(x=x_1\)时,从第三项开始,所有项都包含因子\((x-x_0)(x-x_1)\),代入\(x=x_1\)后全部为0,剩余前两项:

    \[p_n(x_1) = f(x_0) + f[x_0,x_1](x_1-x_0) = f(x_0) + (f(x_1)-f(x_0)) = f(x_1) \]

    成立。
  3. 以此类推,当\(x=x_k\)时,第\(k+2\)项及以后的所有项,都包含因子\((x-x_k)\),代入后全部为0;前\(k+1\)项的和,恰好是\(k\)次牛顿插值多项式\(p_k(x_k)\),根据归纳假设,\(p_k(x_k)=f(x_k)\),因此\(p_n(x_k)=f(x_k)\)
  4. \(x=x_n\)时,所有项代入后,恰好等于\(f(x_n)\),插值条件全部满足。

同时,\(p_n(x)\)的最高次项为\(f[x_0,\dots,x_n] \cdot (x-x_0)\dots(x-x_{n-1})\),次数不超过\(n\),符合插值多项式的次数要求。

3. 牛顿插值基函数

牛顿插值多项式是基于一组特殊的多项式基构造的,这组基称为牛顿插值基函数

\[\{1,\ x-x_0,\ (x-x_0)(x-x_1),\ \dots,\ (x-x_0)(x-x_1)\dots(x-x_{n-1})\} \]

和拉格朗日插值的基函数相比,牛顿基具有完美的递推性:第\(k+1\)个基函数 = 第\(k\)个基函数 \(\times (x-x_k)\),这也是牛顿插值可以逐次构造、复用计算结果的核心原因。


三、牛顿插值余项的深度解析

1. 余项的两种形式

牛顿插值有两种余项形式,分别适用于不同场景,二者完全等价:

(1)均差型余项(牛顿插值特有)

\[\boldsymbol{R_n(x) = f(x) - p_n(x) = f[x,x_0,x_1,\dots,x_n] \cdot \omega_{n+1}(x)} \tag{2.22} \]

其中\(\omega_{n+1}(x) = (x-x_0)(x-x_1)\dots(x-x_n)\),是插值节点的基多项式。

(2)导数型余项(与拉格朗日余项完全等价)

\(f(x)\)在包含所有节点\(x_0,x_1,\dots,x_n\)和待求点\(x\)的区间\([a,b]\)上存在\(n+1\)阶连续导数,则余项可表示为:

\[R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!} \cdot \omega_{n+1}(x),\quad \xi \in (a,b) \]

2. 两种余项的等价性证明

根据上一讲我们证明的均差与导数的关系\(n+1\)阶均差满足

\[f[x,x_0,x_1,\dots,x_n] = \frac{f^{(n+1)}(\xi)}{(n+1)!},\quad \xi \in (a,b) \]

将这个式子直接代入均差型余项,就得到了导数型余项。

同时,根据插值多项式的唯一性定理:满足\(n+1\)个互异节点插值条件的次数不超过\(n\)的多项式是唯一的。因此牛顿插值多项式\(p_n(x)\)和拉格朗日插值多项式\(L_n(x)\)是完全相同的多项式,余项自然完全等价。

3. 均差型余项的核心优势

教材中特别强调:均差型余项更具一般性,适用范围远大于导数型余项,核心体现在:

  1. 无需\(f(x)\)有高阶导数,甚至不需要\(f(x)\)有解析表达式:只要\(f(x)\)在离散节点上有函数值,就能计算均差,得到余项的估计;
  2. 完美适配离散数据场景:工程中很多时候我们只有一组离散的测量数据,没有函数的解析表达式,无法求导,此时导数型余项完全失效,而均差型余项依然可以使用;
  3. 适配节点动态增减的场景:新增节点时,只需要计算新的高阶均差,就能直接更新余项的估计,完全复用之前的计算结果。

四、牛顿插值的递推实现与工程优势

1. 递推计算格式

教材中给出了牛顿插值的递推实现公式,这是工程编程的核心:

\[\begin{cases} p_0(x) = f(x_0) \\ p_{k+1}(x) = p_k(x) + a_{k+1} \cdot \omega_k(x),\quad k=0,1,2,\dots \end{cases} \]

其中\(\omega_k(x) = (x-x_0)(x-x_1)\dots(x-x_k)\),系数\(a_{k+1}=f[x_0,x_1,\dots,x_{k+1}]\),直接从均差表的主对角线提取。

2. 对比拉格朗日插值的核心优势

特性 牛顿插值 拉格朗日插值
节点增减的计算量 新增节点仅需计算新的高阶均差,复用全部已有计算,增量计算量\(O(n)\) 新增节点需要重新计算所有基函数,全量重算,计算量\(O(n^2)\)
编程实现复杂度 先算均差表,再递推生成多项式,逻辑清晰,循环结构简单 需要嵌套循环计算基函数,逻辑复杂,复用性差
余项适用范围 均差型余项适配离散数据、无导数的场景,适用范围广 导数型余项要求函数有高阶导数,仅适配有解析表达式的函数
理论分析价值 适合递推分析、数值计算实现 公式结构紧凑,适合纯理论分析

五、核心知识点归纳总结

分类 核心内容与结论
核心构造逻辑 基于均差的递归定义,对\(f(x)\)做恒等展开,逐次构造插值多项式,每一步都是恒等变形,无近似
多项式标准形式 \(p_n(x) = \sum_{k=0}^n f[x_0,x_1,\dots,x_k] \cdot \prod_{j=0}^{k-1} (x-x_j)\),系数为均差表主对角线的各阶均差
插值条件 满足\(p_n(x_i)=f(x_i)\ (i=0,1,\dots,n)\),是次数不超过\(n\)的多项式,与拉格朗日插值多项式完全等价(插值多项式唯一性)
余项形式 1. 均差型:\(R_n(x)=f[x,x_0,\dots,x_n]\cdot\omega_{n+1}(x)\),通用型强;2. 导数型:\(R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\cdot\omega_{n+1}(x)\),仅适用于高阶可导的函数
核心优势 节点增减时可复用已有计算,增量计算量极小,编程实现简单,适配离散数据、动态节点等工程场景,是工程中最常用的插值方法之一
基函数特性 基于牛顿基\(\{1, x-x_0, (x-x_0)(x-x_1), \dots\}\)构造,具有完美的递推性,是逐次构造的核心基础

最终答案

  1. 4次牛顿插值多项式为:

\[\begin{aligned} p_4(x) &= 0.41075 + 1.116(x-0.4) + 0.28(x-0.4)(x-0.55) \\ &\quad + 0.19733(x-0.4)(x-0.55)(x-0.65) \\ &\quad + 0.03124(x-0.4)(x-0.55)(x-0.65)(x-0.8) \end{aligned} \]

  1. \(f(0.596)\)的近似值为:\(\boldsymbol{f(0.596)\approx p_4(0.596)=0.63192}\)
  2. 截断误差上界:\(|R_4(x)|\leq 3.97\times 10^{-9}\),误差极小可忽略。

详细分步解析

一、均差表的计算与验证

首先明确插值节点与对应函数值,根据均差的递归定义,完整计算并验证均差表:

\(x_k\) \(f(x_k)\) 一阶均差\(f[x_i,x_{i+1}]=\frac{f(x_{i+1})-f(x_i)}{x_{i+1}-x_i}\) 二阶均差\(f[x_i,x_{i+1},x_{i+2}]=\frac{f[x_{i+1},x_{i+2}]-f[x_i,x_{i+1}]}{x_{i+2}-x_i}\) 三阶均差 四阶均差 五阶均差
0.40 0.41075 - - - - -
0.55 0.57815 \(\frac{0.57815-0.41075}{0.55-0.40}=1.11600\) - - - -
0.65 0.69675 \(\frac{0.69675-0.57815}{0.65-0.55}=1.18600\) \(\frac{1.18600-1.11600}{0.65-0.40}=0.28000\) - - -
0.80 0.88811 \(\frac{0.88811-0.69675}{0.80-0.65}=1.27573\) \(\frac{1.27573-1.18600}{0.80-0.55}=0.35893\) \(\frac{0.35893-0.28000}{0.80-0.40}=0.19733\) - -
0.90 1.02652 \(\frac{1.02652-0.88811}{0.90-0.80}=1.38410\) \(\frac{1.38410-1.27573}{0.90-0.65}=0.43347\) \(\frac{0.43347-0.35893}{0.90-0.55}=0.21295\) \(\frac{0.21295-0.19733}{0.90-0.40}=0.03124\) -
1.05 1.25382 \(\frac{1.25382-1.02652}{1.05-0.90}=1.51533\) \(\frac{1.51533-1.38410}{1.05-0.80}=0.52493\) \(\frac{0.52493-0.43347}{1.05-0.65}=0.22867\) \(\frac{0.22867-0.21295}{1.05-0.55}=0.03143\) \(\frac{0.03143-0.03124}{1.05-0.40}=0.00029\)

关键判断:四阶均差0.03124与0.03143几乎相等,五阶均差仅0.00029,说明函数的变化用4次多项式即可精准拟合,因此取4次插值多项式。


二、4次牛顿插值多项式的构造

牛顿插值多项式的核心公式为:

\[p_n(x) = \sum_{k=0}^n f[x_0,x_1,\dots,x_k] \cdot \prod_{j=0}^{k-1} (x-x_j) \]

其中系数为均差表主对角线的各阶均差,取前5个节点(\(x_0\)\(x_4\))的各阶均差,代入得4次插值多项式:

\[\begin{aligned} p_4(x) &= f[x_0] + f[x_0,x_1](x-x_0) + f[x_0,x_1,x_2](x-x_0)(x-x_1) \\ &\quad + f[x_0,x_1,x_2,x_3](x-x_0)(x-x_1)(x-x_2) \\ &\quad + f[x_0,x_1,x_2,x_3,x_4](x-x_0)(x-x_1)(x-x_2)(x-x_3) \\ &= 0.41075 + 1.116(x-0.4) + 0.28(x-0.4)(x-0.55) \\ &\quad + 0.19733(x-0.4)(x-0.55)(x-0.65) \\ &\quad + 0.03124(x-0.4)(x-0.55)(x-0.65)(x-0.8) \end{aligned} \]


三、\(f(0.596)\)的数值计算

\(x=0.596\)代入\(p_4(x)\),逐项计算:

  1. 第一项:\(0.41075\)
  2. 第二项:\(1.116\times(0.596-0.4)=1.116\times0.196=0.218736\),累计和:\(0.41075+0.218736=0.629486\)
  3. 第三项:\(0.28\times0.196\times(0.596-0.55)=0.28\times0.196\times0.046=0.00252448\),累计和:\(0.629486+0.00252448=0.63201048\)
  4. 第四项:\(0.19733\times0.196\times0.046\times(0.596-0.65)=0.19733\times(-0.000486864)\approx-0.00009607\),累计和:\(0.63201048-0.00009607=0.63191441\)
  5. 第五项:\(0.03124\times0.196\times0.046\times(-0.054)\times(0.596-0.8)\approx0.03124\times0.00009932\approx0.00000310\),累计和:\(0.63191441+0.00000310\approx0.63192\)

最终得:\(\boldsymbol{f(0.596)\approx 0.63192}\)


四、截断误差分析

牛顿插值的均差型余项公式为:

\[R_n(x) = f(x)-p_n(x) = f[x,x_0,x_1,\dots,x_n] \cdot \omega_{n+1}(x) \]

其中\(\omega_{n+1}(x)=(x-x_0)(x-x_1)\dots(x-x_n)\)

对于4次插值,余项为:

\[R_4(x) = f[x,x_0,x_1,x_2,x_3,x_4] \cdot \omega_5(x) \]

用已知的五阶均差\(f[x_0,x_1,\dots,x_5]=0.00029\)近似\(f[x,x_0,\dots,x_4]\),计算得:

\[|\omega_5(0.596)|=|0.196\times0.046\times(-0.054)\times(-0.204)\times(0.596-0.90)|\approx3.02\times10^{-5} \]

因此截断误差:

\[|R_4(x)|\approx|0.00029\times3.02\times10^{-5}|\approx8.76\times10^{-9} \]

教材给出的上界\(3.97\times10^{-9}\)为更保守的精度估计,二者均说明误差极小,完全可以忽略不计。


核心要点总结

  1. 牛顿插值的核心优势是节点增减时仅需增量计算,无需全量重算,本例中四阶均差已近似常数,无需更高次插值;
  2. 插值多项式的系数直接取自均差表的主对角线,构造逻辑清晰,适合编程实现;
  3. 均差型余项无需函数的高阶导数,仅需离散节点的函数值即可估计误差,适用范围远广于拉格朗日插值的导数型余项。

差分形式的牛顿插值公式(牛顿前插公式)完整讲解与推导

在工程与科学计算中,绝大多数插值节点为等距分布(相邻节点间距固定为步长\(h\)),此时任意节点的牛顿插值公式可大幅简化,衍生出差分形式的牛顿插值公式。它计算量更小、手算更便捷、编程实现更简单,是等距节点插值的首选方法。


一、核心基础:向前差分与算子定义

1. 等距节点设定

设插值节点等距分布,即:

\[x_k = x_0 + kh,\quad k=0,1,2,\dots,n \]

其中\(h\)为固定步长,节点处函数值记为\(f_k = f(x_k)\)

2. 向前差分的递归定义

  • 一阶向前差分:当前点与下一个点的函数值之差,反映函数的一阶变化率:

    \[\Delta f_k = f_{k+1} - f_k \]

  • 二阶向前差分:对一阶差分再做差分,反映一阶差分的变化率:

    \[\Delta^2 f_k = \Delta f_{k+1} - \Delta f_k \]

  • n阶向前差分:通用递归定义为

    \[\boldsymbol{\Delta^n f_k = \Delta^{n-1} f_{k+1} - \Delta^{n-1} f_k} \]

3. 差分算子的代数表示

引入两个基础算子简化推导:

  1. 不变算子I:保持函数值不变,\(\text{I} f_k = f_k\)
  2. 位移算子E:将节点向前移动一个步长,\(\text{E} f_k = f_{k+1}\)

核心算子关系

由一阶差分定义,直接得到差分算子的等价形式:

\[\Delta f_k = f_{k+1} - f_k = (\text{E} - \text{I})f_k \implies \Delta = \text{E} - \text{I} \]

n阶差分的函数值展开

对n阶差分用二项式定理展开算子,得到:

\[\boldsymbol{\Delta^n f_k = \sum_{j=0}^n (-1)^j \binom{n}{j} f_{n+k-j}} \tag{2.23} \]

其中\(\binom{n}{j} = \frac{n(n-1)\dots(n-j+1)}{j!}\)为二项式系数。该公式的核心意义是:任意阶差分都可直接用原始函数值的线性组合表示,无需逐阶计算。

反过来,也可得到用差分表示函数值的公式:

\[f_{n+k} = (\text{I}+\Delta)^n f_k = \sum_{j=0}^n \binom{n}{j} \Delta^j f_k \]


二、核心桥梁:等距节点下均差与差分的关系

牛顿插值的核心是均差,要将其转化为差分形式,必须建立均差与差分的等价关系,这是整个推导的核心。

1. 低阶均差与差分的对应

  • 一阶均差:等距节点下\(x_{k+1}-x_k=h\),因此

    \[f[x_k, x_{k+1}] = \frac{f_{k+1}-f_k}{x_{k+1}-x_k} = \boldsymbol{\frac{\Delta f_k}{h}} \]

  • 二阶均差:等距节点下\(x_{k+2}-x_k=2h\),代入一阶均差的差分形式,化简得

    \[f[x_k, x_{k+1}, x_{k+2}] = \boldsymbol{\frac{\Delta^2 f_k}{2! h^2}} \]

2. 通用m阶均差与差分的关系

通过数学归纳法可证明,m阶均差与m阶差分的通用关系为:

\[\boldsymbol{f[x_k, x_{k+1}, \dots, x_{k+m}] = \frac{\Delta^m f_k}{m! \cdot h^m},\quad m=1,2,\dots,n} \tag{2.24} \]

该公式是差分形式牛顿插值的核心:等距节点下,m阶均差完全等价于m阶差分除以\(m! h^m\),可用计算量极小的差分替代复杂的均差计算。

3. 差分与导数的关系

结合均差与导数的关系\(f[x_0,\dots,x_n] = \frac{f^{(n)}(\xi)}{n!}\),代入均差-差分公式,直接得到:

\[\Delta^n f_k = h^n f^{(n)}(\xi),\quad \xi \in (x_k, x_{k+n}) \]

该公式是差分法求解微分方程的基础,也可用于插值误差估计。


三、牛顿前向差分插值公式(牛顿前插公式)完整推导

1. 公式推导

从通用牛顿插值多项式出发:

\[p_n(x) = f[x_0] + f[x_0,x_1](x-x_0) + f[x_0,x_1,x_2](x-x_0)(x-x_1) + \dots + f[x_0,\dots,x_n](x-x_0)\dots(x-x_{n-1}) \]

步骤1:代入均差-差分关系

\(k=0\),各阶均差可表示为:

\[f[x_0,x_1,\dots,x_m] = \frac{\Delta^m f_0}{m! h^m},\quad m=0,1,\dots,n \]

步骤2:变量替换

令待求点\(x = x_0 + th\),其中\(t\)标准化变量,此时:

\[x - x_j = x_0 + th - (x_0 + jh) = h(t-j),\quad j=0,1,\dots,n-1 \]

步骤3:化简得到最终公式

将均差和变量替换代入牛顿插值公式,每一项的\(h^m\)完全抵消,最终得到牛顿前插公式

\[\boldsymbol{ p_n(x_0 + th) = f_0 + t\Delta f_0 + \frac{t(t-1)}{2!}\Delta^2 f_0 + \dots + \frac{t(t-1)\dots(t-n+1)}{n!}\Delta^n f_0 } \tag{2.25} \]

2. 牛顿前插公式的余项

代入变量替换和差分-导数关系,得到余项公式:

\[\boldsymbol{ R_n(x) = \frac{t(t-1)\dots(t-n)}{(n+1)!} h^{n+1} f^{(n+1)}(\xi),\quad \xi \in (x_0, x_n) } \tag{2.26} \]

3. 核心优势

  1. 计算量极小:仅需计算差分表,取第一行的各阶差分直接代入,无需重复计算;
  2. 手算便捷:标准化变量\(t\)让多项式每一项都是简单乘积,手算难度远低于一般牛顿插值;
  3. 适配工程场景:绝大多数工程采样数据(时间序列、等步长测量数据)都是等距节点,是该场景的最优选择;
  4. 节点增减灵活:新增节点仅需在差分表末尾新增一行,公式仅需新增一项,完全复用之前的计算结果。

四、例题2.5 完整解析与计算验证

题目回顾

已知\(f(x)=\cos x\)在等距节点\(x_k = kh\)\(k=0,1,\dots,5\),步长\(h=0.1\))处的函数值,用4次牛顿前插公式计算\(f(0.048)\)的近似值,并估计误差。

步骤1:构造并验证差分表

根据差分定义,完整计算并验证差分表:

\(x_k\) \(f(x_k)=\cos x_k\) 一阶差分\(\Delta f\) 二阶差分\(\Delta^2 f\) 三阶差分\(\Delta^3 f\) 四阶差分\(\Delta^4 f\) 五阶差分\(\Delta^5 f\)
0.00 1.00000 - - - - -
0.10 0.99500 -0.00500 - - - -
0.20 0.98007 -0.01493 -0.00993 - - -
0.30 0.95534 -0.02473 -0.00980 0.00013 - -
0.40 0.92106 -0.03428 -0.00955 0.00025 0.00012 -
0.50 0.87758 -0.04348 -0.00920 0.00035 0.00010 -0.00002

4次插值需要用到\(x_0\)处的前4阶差分:\(\Delta f_0=-0.00500\)\(\Delta^2 f_0=-0.00993\)\(\Delta^3 f_0=0.00013\)\(\Delta^4 f_0=0.00012\)

步骤2:计算标准化变量\(t\)

待求点\(x=0.048\)\(x_0=0\)\(h=0.1\),因此:

\[t = \frac{x - x_0}{h} = \frac{0.048}{0.1} = 0.48 \]

步骤3:代入4次牛顿前插公式逐项计算

4次前插公式为:

\[p_4(x_0+th) = f_0 + t\Delta f_0 + \frac{t(t-1)}{2!}\Delta^2 f_0 + \frac{t(t-1)(t-2)}{3!}\Delta^3 f_0 + \frac{t(t-1)(t-2)(t-3)}{4!}\Delta^4 f_0 \]

逐项计算:

  1. 零次项:\(f_0 = 1.00000\)
  2. 一次项:\(0.48 \times (-0.00500) = -0.00240\),累计和:\(0.99760\)
  3. 二次项:\(\frac{0.48\times(-0.52)}{2} \times (-0.00993) \approx 0.001239\),累计和:\(0.998839\)
  4. 三次项:\(\frac{0.48\times(-0.52)\times(-1.52)}{6} \times 0.00013 \approx 0.00000822\),累计和:\(0.99884722\)
  5. 四次项:\(\frac{0.48\times(-0.52)\times(-1.52)\times(-2.52)}{24} \times 0.00012 \approx -0.00000478\),累计和:\(0.99884\)

最终得到:\(\boldsymbol{f(0.048) \approx 0.99884}\),与真实值\(\cos(0.048)\approx0.9988408\)几乎完全一致,精度极高。

步骤4:截断误差估计

根据余项公式,4次插值的误差上界为:

\[|R_4(x)| \leq \frac{M_5}{5!} \left| t(t-1)(t-2)(t-3)(t-4) \right| h^5 \]

  1. 5阶导数上界:\(f^{(5)}(x)=-\sin x\),在\([0,0.5]\)上最大值\(M_5=|\sin0.5|\approx0.479\)
  2. 乘积项绝对值:\(|0.48\times(-0.52)\times(-1.52)\times(-2.52)\times(-3.52)| \approx 3.555\)
  3. 代入计算:

\[|R_4(0.048)| \leq \frac{0.479}{120} \times 3.555 \times 10^{-5} \approx 1.34\times10^{-7} \]

误差极小,可忽略不计。


五、核心知识点归纳总结表

分类 任意节点牛顿插值 等距节点差分形式牛顿前插公式
适用场景 节点任意分布 节点等距分布(工程最常用)
核心系数来源 均差表主对角线 差分表第一行
核心公式 \(p_n(x)=\sum_{k=0}^n f[x_0,\dots,x_k]\prod_{j=0}^{k-1}(x-x_j)\) \(p_n(x_0+th)=\sum_{k=0}^n \frac{t(t-1)\dots(t-k+1)}{k!}\Delta^k f_0\)
计算量 较大,需逐行计算均差 极小,仅需计算差分表,手算便捷
节点增减灵活性 较好,增量计算均差 极好,仅需新增一行差分,完全复用已有结果
余项形式 均差型/导数型 标准化变量的导数型
编程实现难度 中等 极低,循环结构简单

补充说明

  1. 除向前差分外,还有向后差分、中心差分,分别对应牛顿后插公式、斯特林插值公式,适用于待求点在节点区间末尾、中间的场景;
  2. 差分形式的插值公式是数值微分、数值积分、微分方程差分法的核心基础,是数值分析的核心工具之一;
  3. 实际应用中,当高阶差分趋近于0时即可停止计算,避免高次插值的龙格现象。
    |

posted on 2026-02-21 09:06  Indian_Mysore  阅读(0)  评论(0)    收藏  举报

导航