欢迎来到数值方法:当代数束手无策时,如何寻找答案!

你好!欢迎来到数值方法(Numerical Methods)这一章。如果听到这个名字你觉得有些畏惧,别担心——实际上,它是 P3 中最实用、逻辑性最强的一部分!

在之前的数学学习中,你学会了如何解方程,比如 \(x^2 - 3x + 2 = 0\)(通过因式分解)或 \(2x - 5 = 11\)(通过移项变形)。但如果遇到像 \(e^x = 10 - x\) 或 \(\sin x = \ln x\) 这样的方程呢?这些方程无法通过标准的代数技巧求解。

数值方法就是用于求出这些复杂方程根(解)的近似值的一系列技术,通常涉及重复的计算(迭代)。这正是计算机和计算器在后台运作时所使用的方法!

让我们开始探索,学习如何“捕捉”这些棘手的根吧!


第 1 节:通过符号变化定位根

什么是根?

方程 \(f(x) = 0\) 的根(root)是指函数 \(y = f(x)\) 的图像与 \(x\) 轴相交时的 \(x\) 值。在这一点上,函数值 \(y\) 正好为零。

符号变化原则

这是最简单的一种数值方法,它基于常识逻辑。

如果一个函数 \(f(x)\) 是连续的(意味着它的图像在区间内没有断点、跳跃或渐近线),并且你找到了两个值 \(a\) 和 \(b\),使得:
1. \(f(a)\) 为正(在 \(x\) 轴上方)。
2. \(f(b)\) 为负(在 \(x\) 轴下方)。
……那么该函数的图像在 \(a\) 和 \(b\) 之间必定至少穿过一次 \(x\) 轴。因此,在区间 \((a, b)\) 内必然存在一个根。

类比:过河

想象 \(x\) 轴是一条河流。如果你从北岸(\(f(x)\) 为正)出发,最终到达南岸(\(f(x)\) 为负),那么你一定在某个点穿过了这条河。那个穿过点就是我们要找的根!

定位根的步骤流程

  1. 定义函数:确保方程的形式为 \(f(x) = 0\)。 示例:如果题目是 \(e^x = 10 - x\),你必须将其改写为 \(f(x) = e^x + x - 10 = 0\)。
  2. 选择区间:题目通常会给出一个小区间,例如 \([1, 2]\),或者要求你自行寻找。
  3. 测试端点:计算 \(f(1)\) 和 \(f(2)\)。
  4. 检查符号变化:
    • 如果 \(f(1) > 0\) 且 \(f(2) < 0\),说明发生了符号变化。
    • 如果 \(f(1) < 0\) 且 \(f(2) > 0\),说明发生了符号变化。
  5. 陈述结论:清晰地写出:“由于在 \(x=a\) 和 \(x=b\) 之间存在符号变化,且 \(f(x)\) 在该区间内是连续的,因此根一定位于 \(a\) 和 \(b\) 之间。”
⚠️ 常见错误提醒!

只有在函数连续的前提下,符号变化才能保证存在根。如果函数在区间内存在渐近线(断点),例如 \(f(x) = 1/x\),那么即使符号发生了改变,函数也不一定会穿过 \(x\) 轴!除非区间内明确显示有渐近线,否则请始终假设 P3 中的标准函数(多项式、指数函数、对数函数、三角函数)都是连续的。

快速回顾:符号变化
如果 \(f(a)\) 和 \(f(b)\) 符号相反,且 \(f(x)\) 连续,则区间 \([a, b]\) 内存在根。此方法使我们可以将根的范围不断缩小,从而达到更高的精度要求(例如精确到小数点后一位)。

第 2 节:迭代法 (\(x_{n+1} = g(x_n)\))

虽然符号变化法告诉我们根在哪里,但迭代法允许我们使用重复公式将根精确计算出来。

步骤 1:将 \(f(x) = 0\) 重写为 \(x = g(x)\)

核心思想是将方程 \(f(x) = 0\) 变形为等价形式:\(x = g(x)\)。

示例:求解 \(f(x) = x^3 - 3x - 5 = 0\)。

这种方程可以通过多种方式变形,从而得到不同的函数 \(g(x)\):

  • 变形 A(最简单):
    \(x^3 = 3x + 5\)
    \(x = \sqrt[3]{3x + 5}\)
    此处,\(g(x) = \sqrt[3]{3x + 5}\)。
  • 变形 B(较复杂):
    \(3x = x^3 - 5\)
    \(x = \frac{x^3 - 5}{3}\)
    此处,\(g(x) = \frac{x^3 - 5}{3}\)。

要点:并非所有的变形都能奏效(即收敛到根)。我们将在第 3 节讨论如何区分它们。

步骤 2:迭代公式

一旦你得到了 \(x = g(x)\),就可以将其转化为迭代公式:
$$x_{n+1} = g(x_n)$$

这意味着下一个近似值 (\(x_{n+1}\)) 是通过将当前的近似值 (\(x_n\)) 代入函数 \(g\) 中计算出来的。

步骤 3:计算序列

  1. 从初始估计值 (\(x_0\)) 开始:这通常由题目给出,或者你可以使用符号变化法的结果(例如,如果根在 2 和 3 之间,你可以设定 \(x_0 = 2.5\))。
  2. 计算 \(x_1\):将 \(x_0\) 代入公式:\(x_1 = g(x_0)\)。
  3. 计算 \(x_2\):将 \(x_1\) 代入公式:\(x_2 = g(x_1)\)。
  4. 重复:持续该过程(\(x_3, x_4, x_5, \dots\)),直到数值收敛(数值停止变化,或在要求的精度内不再变化)。
💡 考试提速与精度技巧

这对于考试至关重要!

  1. 输入你的初始估计值 \(x_0\),并按 =。这会将该值存入计算器的 ANS(答案)存储器中。
  2. 输入迭代公式,用 ANS 代替 \(x_n\)。
    示例:对于 \(x_{n+1} = \sqrt[3]{3x_n + 5}\),你应输入:\(\sqrt[3]{3\text{Ans} + 5}\)
  3. 反复按 =。每按一次都会计算序列中的下一项 (\(x_1, x_2, x_3, \dots\))。这样速度更快,且能减少手动舍入带来的误差。

精度处理:在进行迭代计算时,中间步骤通常需要保持高精度(至少保留 4 位小数),仅在最后计算出结果时按要求进行舍入。

重点总结:迭代法
迭代法让我们能够精准地锁定根。过程为:\(f(x)=0 \rightarrow x=g(x) \rightarrow x_{n+1}=g(x_n)\)。你需要一个初始猜测值以及一个真正有效的(收敛的)公式。

第 3 节:图解分析与收敛性

为什么我们说只有“特定的变形”才有效?这就是图解法的用武之地。

根的图形化解释

当我们求解 \(x = g(x)\) 时,其实是在寻找两个图形的交点:
$$y = x$$
$$y = g(x)$$

交点的 \(x\) 坐标就是根 \(\alpha\)。

可视化迭代:阶梯图与蛛网图

我们将序列 \(x_0, x_1, x_2, \dots\) 绘制在这些图像上。迭代过程表现为:

  1. 从 \(x\) 轴上的 \(x_n\) 垂直向上(或向下)移动到曲线 \(y = g(x)\)。(这计算出了 \(x_{n+1}\)。)
  2. 从曲线水平移动到直线 \(y = x\)。(这步将输出的 \(x_{n+1}\) 作为下一步的输入值。)

重复此过程会产生两种图案:

  1. 阶梯图(Staircase Diagram):序列一步步直接向根靠拢。当函数 \(g(x)\) 在根附近为增函数时,会出现这种情况。
  2. 蛛网图(Cobweb Diagram):序列呈螺旋状向根靠拢。当函数 \(g(x)\) 在根附近为减函数时,会出现这种情况。

如果这些点偏离了交点,则说明迭代发散(即无法找到根)。

收敛条件

决定迭代是收敛还是发散的关键因素是 \(g(x)\) 在根 \(\alpha\) 附近的斜率(梯度)

设 \(g'(x)\) 为 \(g(x)\) 的导数(梯度函数)。

收敛法则:

迭代 \(x_{n+1} = g(x_n)\) 收敛的充要条件是:在根 \(\alpha\) 处,其导数的绝对值小于 1

$$|g'(\alpha)| < 1$$

如果 \(|g'(\alpha)| \geq 1\),迭代很可能会发散或震荡而无法趋于稳定。

类比:斜率的陡峭程度

直线 \(y=x\) 的斜率为 1。

  • 如果曲线 \(y=g(x)\) 比 \(y=x\) 平缓(即 \(|g'(\alpha)| < 1\)),图上的“阶梯”会越来越小,最终你像滚动一样滑向根(收敛)。
  • 如果曲线 \(y=g(x)\) 比 \(y=x\) 陡峭(即 \(|g'(\alpha)| > 1\)),“阶梯”会越来越大,你会跳离根的位置(发散)。

如何在考试中证明收敛性

要证明一个给定的公式 \(x_{n+1} = g(x_n)\) 会收敛到位于区间 \([a, b]\) 内的根 \(\alpha\),你需要展示:

$$|g'(x)| < 1 \text{ 对区间 } [a, b] \text{ 内的所有 } x \text{ 成立}$$

证明步骤:

  1. 求出导数 \(g'(x)\)。
  2. 在区间端点 \(a\) 和 \(b\) 处计算 \(|g'(x)|\) 的值。
  3. 展示在该区间内,梯度的最大值小于 1。
  4. 结论:“由于在整个区间 \([a, b]\) 内 \(|g'(x)| < 1\),因此迭代将收敛到该区域内的根 \(\alpha\)。”
你知道吗?

在现实世界中,数学家经常尝试多种不同的变形 (\(x = g(x)\)),直到找到一种能够快速收敛的方法。\(|g'(\alpha)|\) 的值越小,意味着收敛速度越快!

重点总结:收敛性
收敛性取决于 \(g(x)\) 的梯度。为了使序列能够稳定在根上,\(y = g(x)\) 的曲线在与 \(y = x\) 相交处不能太陡。我们需要满足 \(|g'(x)| < 1\)。