4.9
牛顿法
学习目标
- 4.9.1
描述牛顿法的步骤。
- 4.9.2
解释迭代过程的含义。
- 4.9.3
识别牛顿法何时失效。
- 4.9.4
将迭代过程应用于各种情况。
在纯数学和应用数学的许多领域中,我们都对求解形如 的方程感兴趣。然而,对于大多数函数,显式求出它们的零点是困难的,甚至是不可能的。在本节中,我们将介绍一种能高效近似函数的零点的技术。该技术利用切线近似,也是计算器和计算机求零点时常用的方法。
牛顿法描述
考虑求解方程 。如果 是一个一次多项式 ,那么 的解由公式 给出。如果 是一个二次多项式 ,那么 的解可由求根公式求得。不过,对于次数为 或更高的多项式,寻找 的根变得更加复杂。尽管三次和四次多项式存在公式,但它们相当复杂。此外,如果 是一个次数为 或更高的多项式,已知不存在这样的公式。例如,考虑函数
不存在可以求出 解的公式。对于非多项式函数也有类似的困难。例如,考虑求 的解。对于这个方程的解,不存在简单的公式。在这类情形下,我们可以使用牛顿法来近似求根。
牛顿法 (Newton’s method)利用以下思想来近似求解 。通过绘制 的图形,我们可以估计 的一个根。我们将这个估计值记为 。然后,我们绘制 在 处的切线。如果 ,这条切线将与 轴相交于某一点 。现在,令 为实际根的下一个近似值。通常, 比 更接近实际根。接下来,我们绘制 在 处的切线。如果 ,这条切线也将与 轴相交,从而产生另一个近似值 。我们以这种方式继续,得到一系列近似值:。通常,数列 会迅速趋近于实际根 ,如下图所示。
现在来看看如何计算近似值 。如果 是我们的第一个近似值,那么近似值 定义为 在 处的切线与 轴的交点 的横坐标。这条切线的方程为:
因此, 必须满足
解出 ,可得
类似地,点 是 在 处的切线与 轴的交点。因此, 满足方程
一般地,对于 ,满足
(4.8)
接下来,我们看看如何利用这种技术来近似多项式 的根。
例
4.46
寻找多项式的根
使用牛顿法近似多项式 在区间 上的一个根。令 ,并求出 和 。
解
从图 4.78中可以看出, 在区间 上有一个根。所以, 似乎是一个合理的首次近似。为了找到下一个近似值,我们使用公式 4.8。由于 ,其导数是 。使用公式 4.8,令 (使用显示 位有效数字的计算器),可得
为了找到下一个近似值 ,我们使用公式 4.8,令 并利用计算器中存储的 值。我们发现
以这种方式继续,可得以下结果:
我们注意到 和 得到了相同的值。因此,后续的迭代很可能都给出相同的 值。
检验点
4.45
令 ,利用牛顿法计算 和 以近似 在区间 上的根。
牛顿法也可以用来近似平方根。这里我们展示如何近似 。该方法可以修改以近似任何正数的平方根。
例
4.47
寻找平方根
使用牛顿法近似 (参见图 4.79)。令 ,设 ,并计算 。(我们注意到,由于 在 处有一个零点,因此初始值 是近似 的合理选择。)
解
对于 ,从公式 4.8可知,
于是,
以这种方式继续,我们发现
由于 和 的值相同,因此继续迭代时 的值不太可能改变。故 。
检验点
4.46
使用牛顿法近似 ,令 和 。求 和 。
在牛顿法中,除初始猜测外,每个近似值都由前一个近似值通过同一公式递推得到。特别是,通过定义函数 ,我们可以将公式 4.8改写为 。像这样反复将同一函数作用于前一个近似值来求得下一个近似值,就是迭代过程的一个例子。我们稍后将讨论其他迭代过程,这里先分析牛顿法可能无法找到根的几种情形。
牛顿法的失效情况
通常,牛顿法能相当快地找到根。然而,也可能出现问题。牛顿法失效的常见原因有:
- 在某个近似值 处,导数 在 处为零,但 。此时 在 处的切线不与 轴相交。因此,我们无法继续迭代过程。
- 近似值 可能趋近于不同的根。如果函数 有多个根,近似值可能不会趋近于我们所求的根,而是趋近于另一个根(参见图 4.80)。这种情况最常发生在我们选择的近似值 离目标根不够近时。
- 近似值可能完全无法趋近于根。在例 4.48中,我们给出了一个函数及初始猜测 的例子,其中逐次近似值始终无法趋近于根,因为它们在两个值之间来回交替。
例
4.48
牛顿法失效的情况
考虑函数 。令 。证明序列 未能趋近于 的根。
解
对于 ,其导数是 。所以,
在下一步中,
因此,序列 在 和 之间来回跳动,从未接近 的根,该根位于区间 上(参见图 4.81)。幸运的是,如果我们选择一个更接近实际根的初始近似值 ,就可以避免这种情况。
检验点
4.47
对于 ,令 ,并求出 和 。
从例 4.48中可以看出,牛顿法并非总是有效。但是,当它有效时,近似序列会非常迅速地趋近于根。关于牛顿法生成的近似序列收敛到根的速度,可参阅数值分析教科书中的相关讨论。
其他迭代过程
如前所述,牛顿法是一种迭代过程。现在来看一个不同类型的迭代过程的例子。
考虑函数 和初始值 。通过公式 定义后续值 。这个过程是一个迭代过程,它生成一个数列 。当 变大时,这个数列可能趋近于一个有限数 ,也可能不收敛。在例 4.49中,可以看到一个函数 和一个初始猜测值 的例子,其中生成的数列趋近于一个有限值。
例
4.49
寻找迭代过程的极限
设 ,并设 。对所有 ,令 。求值 。对数列 当 时的极限行为作出猜想。如果数列 趋近于一个有限数 ,那么 满足 ,且 称为 的不动点。
解
如果 ,那么
从这个数列中,我们推测值 趋近于 。
图 4.82 从图形上直观地说明了当 时,这些值趋近于 。从点 开始,我们画一条垂直线到点 。数列中的下一个数是 。我们使用 来计算 。因此,我们画一条水平线连接 到直线 上的点 ,然后画一条垂直线连接 到点 。输出 变为 。以这种方式继续,我们可以创建无限数量的线段。这些线段被困在直线 和 之间。这些线段越来越接近这两条直线的交点,这发生在 时。解方程 ,可得它们在 处相交。这与数值计算的结果一致,即当 时,数列 趋近于 。
检验点
4.48
考虑函数 。设 ,并对 设 。求 。对数列 当 时的极限行为作出猜想。
学生项目
迭代过程与混沌
迭代过程可以产生一些非常有趣的现象。在本节中,可以看到几个收敛到不动点的迭代过程的例子。我们还在例 4.48中看到,迭代过程在两个值之间来回跳动。我们称这种行为为 -循环。迭代过程可以收敛到具有各种周期性的循环,例如 (其中迭代过程重复四个值的序列)、8-循环等。
有些迭代过程会产生数学家所称的混沌。此时,迭代过程以看似随机的方式从一个值跳到另一个值,从不收敛或稳定在一个循环中。尽管对混沌的完整探索超出了本书的范围,但在这个项目中,我们研究了混沌迭代过程的一个关键特性:对初始条件的敏感依赖性。这一特性是指,初始条件的微小变化就可能导致迭代过程产生截然不同的行为。
也许最著名的混沌例子是曼德尔布罗特集(见图 4.83),它以本华·曼德尔布罗特(Benoit Mandelbrot,1924-2010)的名字命名,他深入研究了该集合的性质,并推动了混沌理论的发展。曼德尔布罗特集通常由计算机生成,并在放大时显示出迷人的细节,包括集合的自相似性。该集合的多个彩色版本曾在博物馆展出,也可在网上和相关科普书籍中找到。
在这个项目中,我们使用逻辑映射
作为我们迭代过程中的函数。逻辑映射是一个看似简单的函数;但是,根据 的值,所产生的迭代过程会表现出一些非常有趣的现象。它可以导致不动点、循环,甚至混沌。
为了可视化与逻辑映射相关的迭代过程的长期行为,我们将使用一种称为蛛网图的工具。正如我们本节前面研究的迭代过程一样,我们首先从点 画一条垂直线到点 。然后从该点画一条水平线到点 ,再画一条垂直线到 ,并继续这个过程,直到系统的长期行为变得明显。图 4.84显示了当 和 时逻辑映射的长期行为(前 次迭代未绘制)。这个迭代过程的长期行为是一个 -循环。
- 设 并选择 。手动或使用计算机计算序列中的前 个值。序列是否似乎收敛?如果是,收敛到哪个值?它是否产生一个循环?如果是,是什么类型的循环(例如,)?
- 当 时会发生什么?
- 对于 和 ,计算前 个序列值。为每个迭代过程生成一个蛛网图。(网上有几个免费的小程序可以生成逻辑映射的蛛网图。)在这些情况下,长期行为是什么?
- 现在设 。计算前 个序列值并生成一个蛛网图。这时,长期行为是什么?
- 对 重复此过程,但设 。这种行为与 的行为相比如何?
第4.9节练习
对于以下练习,写出牛顿公式 来求解
406.
407.
408.
409.
410.
对于以下练习,使用迭代式 求解 ,该迭代式与牛顿法略有不同。找到一个有效的 和一个无法收敛的 ,但 除外。
411.
且
412.
且
对于以下练习,从以下点开始:
a. 和
b.
使用指定的迭代法计算 和 。
414.
415.
416.
417.
418.
419.
420.
421.
对于以下练习,使用牛顿法和计算机或计算器求解到小数点后四位。选取任意不等于精确根的初始值 。
422.
423.
426.
427.
选择
429.
430.
431.
对于以下练习,使用牛顿法找到函数 的不动点,结果四舍五入到三位小数。
433.
在 上
435.
牛顿法除了可以求根之外,还可以用来求函数的极大值和极小值。此时,将牛顿法应用于导函数 来求其根,而不是应用于原函数。对于以下练习,请考虑该方法的公式。
436.
为了找到极大值和极小值的候选点,我们需要找到临界点 。证明对于函数 的临界点求解,牛顿法由 给出。
对于以下练习,使用牛顿法找到以下函数的局部极小值和/或局部极大值的位置;结果四舍五入到三位小数。
438.
的最小值
439.
的最小值
442.
的最大值
443.
的最大值
444.
的最小值,最接近 的非零最小值
445.
的最小值
对于以下练习,使用指定的方法求解方程。如果该方法不起作用,请解释原因。
448.
牛顿法, 从 开始
449.
求解 从 开始
对于以下练习,使用割线法,这是一种替代牛顿法的迭代方法。公式如下:
450.
求 的一个根,精确到三位小数。
451.
求 的一个根,精确到四位小数。
452.
求 的一个根,精确到四位小数。
453.
求 的一个根,精确到四位小数。
454.
为什么选择割线法而不是牛顿法?对 有哪些必要的限制?
对于以下练习,使用牛顿法和割线法计算以下方程的根。使用计算器或计算机计算每种方法分别需要多少次迭代才能使结果精确到小数点后三位。对于割线法,使用与牛顿法相同的初始值。
455.
456.
457.
458.
459.
在以下练习中,考虑开普勒关于行星轨道的方程 ,其中 是平近点角, 是偏近点角, 表示离心率。
460.
当平近点角 和轨道离心率 时,使用牛顿法求解偏近点角 ,结果四舍五入到三位小数。
461.
当平近点角 和轨道离心率 时,使用牛顿法求解偏近点角 ,结果四舍五入到三位小数。
以下两道练习题考虑一项银行投资。初始投资为 。经过 年,投资额增至三倍,达到 。
464.
印刷 本书的总成本可由方程 给出。如果印刷商以每本书 的价格出售,使用牛顿法求盈亏平衡点。