逼近定理 线性插值

f ( x ) 是一个在某个区间内至少具有 n 阶导数 的函数。设 x 0 是该区间内的一点。如果 f ( x 0 ) = 0 , , , f ( n 1 ) ( x 0 ) = 0 , 但 f ( n ) ( x 0 ) 0 , 则称 f ( x ) 有一个 f ( x ) n 重零点。因此如果

我们可以说 x 0 f ( x ) 的一个 至少 n 的零点。

如果 f ( x ) x 1 x 2 处有零点(重数 1 ), 那么由罗尔定理, x 1 x 2 之间有一个零点(重数至少为 1 )。如果 f ( x ) x 1 处有至少 2 重的零点, 在 x 2 处有至少 1 重的零点, 比如说 x 1 < x 2 , 那么 x 1 处有一个至少 1 重的零点, 并且有一个至少 1 重的零点 t 满足 x 1 < t < x 2 。于是 x 1 t 之间有一个至少 1 重的零点。同样, 如果 f ( x ) x 1 , x 2 , x 3 处有零点, 且 x 1 < x 2 < x 3 , 那么 x 1 x 2 之间有一个零点, 在 x 2 x 3 之间有一个零点。因此 的这两个零点之间有一个零点。现在让我们给出一个一般的结论。

f ( x ) 在某区间内(计重数)有 n 个零点; 我们证明 在该区间内(计重数)至少有 ( n 1 ) 个零点。如果 f ( x ) 的零点为 x 1 < x 2 < < x r , 其重数分别为 m 1 , m 2 , , m r , m 1 + m 2 + + m r = n , 那么 x 1 的重数为 m 1 1 的零点, x 2 是重数为 m 2 1 的零点, 以此类推。(重数为 0 的零点就是不是零点。)此外, x 1 x 2 之间有一个零点, 在 x 2 x 3 之间有一个零点, 等等, 这样又至少给出 r 1 个零点。因此 在该区间内零点(计重数)的总数至少为

这个关键定理将引导我们得到几种有趣的近似形式。

定理 1

假设 f ( x ) x 1 , x 2 , , x r 处有零点, 其重数分别至少为 m 1 , m 2 , , m r 。设 x 0 满足: 在包含 x 0 , x 1 , x 2 , , x r 的最小区间内 f ( x ) n = m 1 + m 2 + + m r 阶导数。令

H ( x ) = ( x x 1 ) m 1 ( x x 2 ) m 2 ( x x r ) m r .

那么在该区间内存在一个 ξ , 使得

f ( x 0 ) = H ( x 0 ) n ! f ( n ) ( ξ )

证明。 首先假设 x 0 x 1 , x 2 , , x r 之一。那么 f ( x 0 ) = 0 = H ( x 0 ) , 我们可以取 ξ 为该区间内的任意一点。剩下要考虑的是 x 0 不同于所有 x 1 , x 2 , , x r 的情形。此时考虑

g ( x ) = f ( x ) C H ( x ) ,

其中 C 是使 g ( x 0 ) = 0 成立的常数。注意, 要能选取这样的 C , 需要我们能从 f ( x 0 ) C H ( x 0 ) = 0 中解出 C , 或者只需 H ( x 0 ) 0 , 而我们知道事实确实如此。当然我们可以明确写出 C 是什么, 但这并非必要。

现在 g ( x ) x 1 为至少 m 1 重的零点, 以 x 2 为至少 m 2 重的零点, , 以 x r 为至少 m r 重的零点, 且 x 0 也是 g ( x ) 的零点。于是 g ( x ) 在我们的区间内(计重数)至少有 n + 1 个零点。因此在该区间内存在一个 ξ , 使得 g ( n ) ( ξ ) = 0 。但 g ( n ) ( x ) = f ( n ) ( x ) C H ( n ) ( x ) 。注意到当我们展开 H ( x ) 时, 得到一个最高次项为 x n 的多项式, 其他各项的指数更低。但当我们取 n 阶导数时, 所有这些其他项都变为 0 , 而 ( x n ) ( n ) = n ! 于是

g ( n ) ( x ) = f ( n ) ( x ) C n ! , 0 = g ( n ) ( ξ ) = f ( n ) ( ξ ) C n ! ,

并且

C = f ( n ) ( ξ ) n !

g ( x 0 ) = 0 = f ( x 0 ) C H ( x 0 ) 这一事实, 我们得到

f ( x 0 ) = C H ( x 0 ) = f ( n ) ( ξ ) n ! H ( x 0 ) ,

这正是所要证明的。

作为第一个应用, 让我们考虑从表格(例如对数表)进行插值的问题。如果我们有函数 f ( x ) 的数值表, 并且当 x 1 < x 2 时我们读出了 f ( x 1 ) f ( x 2 ) , 那么当 x 1 < x < x 2 时, 我们想估计用通过 ( x 1 , f ( x 1 ) ) ( x 2 , f ( x 2 ) ) 的直线代替曲线来求 f ( x ) 时所引入的误差。设 y = a x + b 是这条近似直线。那么我们考虑函数 f ( x ) ( a x + b ) 。它在 x 1 x 2 处有至少 1 重的零点。因此我们有 n = 2 , 且

H ( x ) = ( x x 1 ) ( x x 2 )

由我们的定理,

其中 ξ x 1 x 2 之间的某个值。现在 H ( x ) 0 , 因为 x x 1 x x 2 符号相反, 而 f ( x ) a x + b 之差的绝对值将小于或等于 H ( x ) 在其最小值处的绝对值乘以 在该区间内可能的最大绝对值, 再除以 2 。但 , 它在中点 x = 1 2 ( x 1 + x 2 ) 处为 0 。这是 H ( x ) 的最小值点, H ( x ) 在该处的值为

( x 2 x 1 ) ( x 1 x 2 ) 4

于是

对于对数表, 取 x 1 = 1.01 , x 2 = 1.02 ,  误差至多为

( .01 ) 2 8 Max  1.01 ξ 1.02 ( 1 ξ 2 ) = .0001 8 1 1.0201 < .00002

习题

习题 1.
  1. 给出一个形如 (*) 的外推法则(其中 x 位于区间 [ x 1 , x 2 ] 之外)。
习题 2.

log 70.0 = 4.24850 ; log 80.0 = 4.38203 。外推以求出 log 82.0 的值并估计你的误差。

习题 3.

log tan 1.00 = 0.1924 ; log tan 1.10 = 0.2933 。估计对介于 1.100 和 1.10 之间的任意角度进行插值时的误差。