📚 Comparative Approaches to Numerical Root-Finding | A-Level数学中数值求根方法的比较
actorised form, numerical methods allow you to approximate the root to any required accuracy. This article compares the main approaches: sign-change searches, interval bisection, fixed-point iteration, the Newton-Raphson formula, and related alternatives such as the secant method. Understanding their speed, reliability and failure modes is essential for choosing the correct approach under exam conditions.
在 Edexcel A-Level 数学考试中,许多方程无法通过代数方法精确求解。当 f(x) = 0 没有简单的因式分解形式时,数值方法能够把根逼近到任意所需精度。本文比较主要方法:符号变化搜索、区间二分法、不动点迭代、牛顿-拉弗森公式,以及割线法等相关的替代方法。理解它们的速度、可靠性和失效模式,是考试中正确选择方法的关键。
1. Why Compare Numerical Approaches? | 为什么比较数值方法?
Exact methods such as factorising, completing the square, or using the quadratic formula only work for a small family of functions. Numerical methods are general-purpose but vary widely in speed, stability, and the information they require. A comparison allows you to predict which method will converge quickly and which might fail for a given equation, and it explains why examiners accept a slow method in one question and demand a fast one in another.
因式分解、配方法或二次公式等精确方法只适用于一小类函数。数值方法具有通用性,但在速度、稳定性以及所需信息方面差异很大。比较这些方法可以让你预判对于给定方程哪种方法能快速收敛,哪种方法可能失效,也能解释为什么考官在某道题中接受慢速方法,而在另一道题中要求快速方法。
In Edexcel papers, questions often ask you to carry out one or two iterations using a given formula. However, a comparative question may also ask why a method is suitable, why a starting value is chosen, or what could go wrong with a rearrangement. Marks are awarded for justification, not just for arithmetic, so you must be able to say what each method needs and what it guarantees.
在 Edexcel 试卷中,题目通常会要求你使用给定公式进行一次或两次迭代。但比较类题目也可能问:为什么某种方法合适、为什么选择某个初始值、或者某个重排可能出什么问题。分数是给论证过程的,而不仅仅是给算术结果的,因此你必须能说清每种方法需要什么、能保证什么。
The comparison below follows four questions: Does the method always work? How fast is it? What information must you supply? And what happens when it goes wrong? Keeping these four questions in mind turns a list of formulas into a decision-making tool.
下文比较围绕四个问题展开:该方法是否总是有效?它有多快?你必须提供哪些信息?当它出错时会发生什么?把这四个问题记在心里,就能把一堆公式变成一套决策工具。
2. The Problem: Locating Roots of f(x) = 0 | 问题:定位方程 f(x) = 0 的根
l work we usually begin by locating an interval [a, b] where f(a) and f(b) have opposite signs. If f is continuous on [a, b], the sign change guarantees at least one root in the interval - this is a direct application of the Intermediate Value Theorem.
方程 f(x) = 0 的根是使 f(α) = 0 的值 α。数值计算中,我们通常先定位一个区间 [a, b],使得 f(a) 与 f(b) 符号相反。如果 f 在 [a, b] 上连续,符号变化就保证该区间内至少存在一个根——这是介值定理的直接应用。
f(a) × f(b) < 0 and f continuous on [a, b] ⟹ ∃ α ∈ (a, b) with f(α) = 0
the same interval. Second, continuity is essential: a function such as f(x) = 1/x changes sign across x = 0 but has no root there, because it is not continuous at that point.
有两点必须注意。第一,该定理保证至少一个根,而不是恰好一个根;函数可能在同一区间内三次穿过 x 轴。第二,连续性不可或缺:例如 f(x) = 1/x 在 x = 0 两侧符号相反,但在该点不连续,因此那里并没有根。
ot. This is why sign-change methods can miss a pair of roots and why a sketch of y = f(x) is an excellent first step in any numerical question.
包含奇数个根的区间,其两端点函数值必然异号;但包含偶数个根的区间却不一定显示符号变化。这正是符号变化法可能漏掉一对根的原因,也是为什么画一张 y = f(x) 的草图在任何数值题中都是极好的第一步。
3. Sign-Change Searches and Interval Bisection | 符号变化搜索与区间二分法
A decimal search evaluates f(x) at regular steps, for example at x = 0.1, 0.2, 0.3, … bracket immediately, but a step that is too large can jump straight over two nearby roots.
小数搜索法以固定步长计算 f(x),例如取 x = 0.1, 0.2, 0.3, …,寻找两个相邻且符号相反的函数值。这种方法用计算器设置很快,能立即给出粗略的区间,但步长过大会直接跳过两个相距很近的根。
Interval bisection refines any bracket by repeatedly halving it. The algorithm is simple and mechanical:
区间二分法通过反复对分来精化任何已有的区间。算法简单、机械:
- Evaluate f at the midpoint m = (a + b) ÷ 2.
- If f(m) has the same sign as f(a), replace a by m; otherwise replace b by m.
- Repeat until the interval is narrower than the required accuracy.
- 计算中点 m = (a + b) ÷ 2 处的函数值。
- 若 f(m) 与 f(a) 同号,则用 m 替换 a;否则用 m 替换 b。
- 重复进行,直到区间宽度小于所需精度。
Error after n bisections ≤ (b − a) ÷ 2ⁿ
Bisection is the most robust method available: it needs only continuity and a sign change, never a derivative, and it cannot jump to a different root, because the root is trapped inside the bracket at every stage. Its weakness is speed. Each halving gains only one binary digit, so about 3.3 bisections are needed to gain one decimal place of accuracy.
二分法是最稳健的方法:它只需要连续性和一次符号变化,完全不需要导数,也不会跳到别的根上,因为根在每一步都被"困"在区间内。它的缺点是速度慢。每次对分只增加一位二进制精度,因此大约需要 3.3 次对分才能多得到一位小数精度。
4. Accuracy, Error Bounds and Stopping Rules | 精度、误差界与停止准则
Every numerical answer must be quoted to a stated degree of accuracy, and the stopping rule must be strong enough to justify that accuracy. If the answer is required to n decimal places, continue until the interval width is less than 10⁻ⁿ, and check that the interval does not straddle a rounding boundary of the form k.…5.
每个数值答案都必须按指定的精度给出,而停止准则必须强到足以支撑该精度。如果答案要求保留 n 位小数,就应持续迭代直到区间宽度小于 10⁻ⁿ,并检查该区间是否跨越形如 k.…5 的四舍五入分界点。
A safer habit is to work one guard digit beyond the required accuracy. If the question asks for the root correct to 3 decimal places, carry the arithmetic to 4 or 5 decimal places and only round at the very end. Rounding intermediate iterates early is one of the commonest sources of lost marks, because the error is fed straight into the next iteration.
更稳妥的习惯是多保留一位"保护数字"。如果题目要求根精确到 3 位小数,就把运算做到 4 到 5 位小数,只在最后一步取整。过早对中间迭代值取整是最常见的失分原因之一,因为误差会直接带入下一次迭代。
Error bounds should be quoted in words as well as symbols. A statement such as "the root lies between 0.6822 and 0.6826, so α = 0.682 correct to 3 decimal places" iting only the final number without the bounding interval usually loses the accuracy mark.
误差界不仅要用符号写出,还要用文字说明。像"根位于 0.6822 与 0.6826 之间,因此 α = 0.682(精确到 3 位小数)"这样的表述把理由明确写出,正是考官想要看到的。只写最终数字而不给包围区间,通常会丢掉精度分。
5. Fixed-Point Iteration and Rearrangements | 不动点迭代与重排
. The iteration then uses the previous value to generate the next one, starting from an initial estimate x₀ close to the root:
不动点迭代首先把 f(x) = 0 重排成 x = g(x) 的形式,然后用前一个值生成下一个值,从接近根的初始估计值 x₀ 出发:
xₙ₊₁ = g(xₙ), n = 0, 1, 2, …
behave very differently. For x³ + x − 1 = 0 we could use g(x) = 1 − x³, or g(x) = (1 − x)1/3 written as ∛ for x ≠ 0. They all have the same fixed point α ≈ 0.6823, but only some of them converge.
同一个方程通常有多种重排方式,而它们的行为差别极大。对于 x³ + x − 1 = 0,可以用 g(x) = 1 − x³,也可以用 g(x) = (1 − x)1/3,即 ∛(1 − x),还可以在 x ≠ 0 时用 g(x) = (1 − x³) ÷ x。它们有相同的不动点 α ≈ 0.6823,但只有一部分会收敛。
same axes produces either a staircase diagram, when g is increasing near the root, or a cobweb diagram, when g is decreasing. The iterates crawl towards the intersection point in the first case and spiral into it in the second.
迭代最好用图形理解。在同一坐标系中画出 y = x 与 y = g(x),若 g 在根附近递增,就得到阶梯图;若 g 递减,就得到蛛网图。前一种情况下迭代值"爬"向交点,后一种情况下则盘旋逼近。
6. Convergence Conditions for Fixed-Point Iteration | 不动点迭代的收敛条件
) is smaller than 1, and diverges when it is larger than 1. The case where g′(α) = 1 is inconclusive and needs separate investigation, because convergence can be extremely slow.
迭代的行为由 g 在根附近的梯度决定。设不动点为 α,当 g′(α) 的绝对值小于 1 时迭代收敛,大于 1 时发散。g′(α) = 1 的情形无法直接判定,需要单独讨论,因为此时收敛可能极其缓慢。
|g′(α)| < 1 ⟹ convergence; |g′(α)| > 1 ⟹ divergence
The sign of g′(α) controls the shape of the approach. When g′(α) is positive the iterates approach the root monotonically, giving a staircase. When g′(α) is negative the iterates alternate above and below the root, giving an oscillating cobweb. The size of g′(α) controls the speed: the closer it is to zero, the faster the convergence.
g′(α) 的符号决定逼近的形状。g′(α) 为正时,迭代值单调地逼近根,形成阶梯图;g′(α) 为负时,迭代值在根两侧交替出现,形成振荡的蛛网图。g′(α) 的绝对值决定速度:越接近零,收敛越快。
′(α) ≈ −3(0.6823)² ≈ −1.397, whose size exceeds 1: this rearrangement diverges. For g(x) = ∛(1 − x) we have g′(x) = −(1 ÷ 3)(1 − x)−2/3 the gradient is negative. Starting from x₀ = 0.7 the iterates run 0.6694, 0.6917, 0.6753, … edging towards 0.6823.
把这一判据用于本例很有启发性。对 g(x) = 1 − x³,有 g′(x) = −3x²,在根处 g′(α) ≈ −3(0.6823)² ≈ −1.397,绝对值大于 1,因此该重排发散。对 g(x) = ∛(1 − x),有 g′(x) = −(1 ÷ 3)(1 − x)−2/3,得 g′(α) ≈ −0.716,绝对值小于 1,因此该重排收敛,且因梯度为负而呈振荡形式。从 x₀ = 0.7 出发,迭代值为 0.6694, 0.6917, 0.6753, …,缓慢趋向 0.6823。
A practical rule for choosing a rearrangement is to make the x on the left-hand side the subject of the strongest x term in the equation. That usually produces a gradient of small magnitude near the root and therefore fast, reliable convergence.
选择重排的一条实用法则是:让等式左边 x 来自方程中最高次或最主要的那一项 x。这通常会使根附近的梯度绝对值较小,从而得到快速、可靠的收敛。
7. The Newton-Raphson Formula | 牛顿-拉弗森公式
The Newton-Raphson method uses the tangent line to the curve to produce a much better estimate at each step. Starting from x₀ near the root, draw the tangent at (x₀, f(x₀)); where it crosses the x-axis gives x₁. Repeating the construction generates the iteration formula.
牛顿-拉弗森法利用曲线在一点处的切线,在每一步产生更接近根的估计值。从根附近的 x₀ 出发,作点 (x₀, f(x₀)) 处的切线,切线与 x 轴的交点就是 x₁。重复这一构造就得到迭代公式。
xₙ₊₁ = xₙ − f(xₙ) ÷ f′(xₙ), provided f′(xₙ) ≠ 0
ne more step gives x₂ ≈ 0.682351, already correct to four decimal places. Compare this with bisection, which needed seven halvings to reach three decimal places.
把它用于 f(x) = x³ + x − 1,其中 f′(x) = 3x² + 1,取 x₀ = 0.75,得 f(0.75) = 0.171875,f′(0.75) = 2.6875,于是 x₁ = 0.75 − 0.171875 ÷ 2.6875 = 0.686047。再迭代一步得 x₂ ≈ 0.682351,已经精确到四位小数。相比之下,二分法需要七次对分才能达到三位小数。
The price of this speed is information: you must be able to differentiate f, and you must supply a starting value that is genuinely close to the root. Newton-Raphson also gives no automatic bracket, so examiners usually expect a sign-change check afterwards to confirm which root you have found.
这种速度的代价是信息量:你必须能够对 f 求导,并且必须提供一个确实接近根的初始值。牛顿-拉弗森法也不会自动给出包围区间,因此考官通常期望你在之后补充一次符号变化检验,以确认找到的是哪一个根。
8. Convergence and Failure Modes of Newton-Raphson | 牛顿-拉弗森法的收敛与失效模式
Near a simple root where f′(α) is not zero, Newton-Raphson converges extremely fast: roughly, the number of correct decimal places doubles with every iteration. That is why it is the default choice when the derivative is easy and a good starting value is available.
在 f′(α) 不为零的单根附近,牛顿-
更多咨询请联系16621398022(同微信)

或截图后用「扫一扫 → 相册」选择本图