本科课程 · 数值分析

数值分析

计算机只有有限位数字和有限次运算——近似是宿命,误差是敌人也是情报。本课教你设计"快而稳"的算法:插值、最小二乘、数值积分、迭代求根、解方程组,并理解它们各自的收敛速度与数值陷阱。

1 误差理论

概念绝对误差、相对误差与有效数字

绝对误差 e = x* − x;相对误差 eᵣ = e/|x*|;有效数字:若 |e| ≤ ½×10^{m−n+1} 则有 n 位有效数字。
误差来源:模型误差、观测误差、截断误差(用近似公式,如泰勒截断)、舍入误差(浮点表示)。
算术运算的误差传播:加减按绝对误差、乘除按相对误差;相近数相减会大量丢失有效数字(灾难性消减)——解决办法是恒等变形。

操作灾难性消减演示 ⭐

计算 f(x) = (1 − cos x)/x²(极限为 ½)。两条数学上等价的路——直接算 vs 恒等变形 2sin²(x/2)/x²——在浮点世界里命运迥异:

当 x 很小时 1 与 cos x 都接近 1,相减后有效数字几乎全军覆没(结果偏离 0.5 甚至变负);而变形式没有相近数相减,一直稳定。教训:算法不只影响速度,还决定对错。

2 多项式插值与龙格现象

定理存在唯一,但未必听话

插值多项式存在唯一(n+1 个点确定 n 次多项式):拉格朗日型 Lₙ(x) = Σ yᵢℓᵢ(x),ℓᵢ(x) = Π_{j≠i}(x−xⱼ)/(xᵢ−xⱼ);牛顿型(差商表,加点方便)。
余项:f(x) − Lₙ(x) = f⁽ⁿ⁺¹⁾(ξ)/(n+1)! · ω(x)。等距高阶插值在端点附近 ω 剧烈摆动——龙格现象:节点越多误差反而爆炸。
对策:切比雪夫节点 xₖ = cos((2k+1)π/(2n+2))(端点密、中间疏)使 ω 最小;或分段低次插值 / 三次样条(整体二阶光滑)。

操作拉格朗日插值实验室 ⭐(龙格现象 vs 切比雪夫)

对 Runge 函数 f = 1/(1+25x²) 插值。切换节点方案、拖动节点位置,观察插值曲线(橙)如何背离真函数(蓝):

等距 11 点:端点附近振幅巨大;切比雪夫 11 点:误差立刻驯服。再试等距 5 点(n 小反而更好)——"高阶插值不是免费的午餐"。

3 最小二乘逼近

概念不让每个点都过,让整体最像

数据带噪声时,插值"逐点硬贴"反而放大噪声。最小二乘:求 φ(x) = a + bx 使 SSE = Σ(yᵢ − a − bxᵢ)² 最小。
法方程(正规方程):AᵀA [a b]ᵀ = Aᵀ y;几何本质:y 在列空间上的正交投影。离散正交多项式可避免病态法方程。

操作最小二乘直线拟合(拖动数据点)

右上角拖动任意红点,直线"跟着走"——每次移动都重新求解法方程,永远让残差平方和最小。

4 数值积分

概念复化公式与代数精度

梯形公式(1 点)误差 O(h²);辛普森公式(抛物线,2 点)误差 O(h⁴);复化公式把区间分成 n 段求和。
代数精度:恰对 ≤ m 次多项式精确。梯形 1 次、辛普森 3 次;n 点高斯求积达 2n−1 次(最高)。
收敛阶观测:p = log₂(err(n)/err(2n))——下方实验室可以直接量出 2 和 4。

操作数值积分对比(梯形 vs 辛普森)

计算 I = ∫₀¹ 4/(1+x²) dx = π。调节等分数 n,看两种方法的误差"按各自的斜率"下降:

5 线性方程组的数值解

概念直接法与迭代法

直接法:高斯消元 = LU 分解(A = LU),O(n³/3);选列主元避免小主元放大误差。
迭代法:Jacobi:x^{(k+1)} = D⁻¹(L+U 项移过去);Gauss-Seidel:算出一个立刻用(更快)。
收敛充分条件:系数矩阵严格对角占优(|aᵢᵢ| > Σ_{j≠i}|aᵢⱼ|)⇒ 两法都收敛。迭代法适合大规模稀疏矩阵(微分方程离散后的大方程组)。

操作Jacobi 迭代收敛轨迹(2×2)

解 4x + y = 1,x + 3y = 2(真解 (0.0909, 0.6364))。每次迭代画出 (x⁽ᵏ⁾, y⁽ᵏ⁾) 的锯齿轨迹:

随堂检测插值 · 积分 · 迭代

6 非线性方程求根

定理牛顿法的二次收敛

二分法:线性收敛(每步误差减半),稳定但慢。
牛顿法 xₙ₊₁ = xₙ − f(xₙ)/f′(xₙ):切线与 x 轴的交点;单根附近二次收敛(有效数字每步翻倍)。
风险:导数为零 / 初值远离根时可能不收敛或落入循环;割线法用差商代替导数(超线性 1.618)。

操作牛顿法迭代器 ⭐(看有效数字翻倍)

7 特征值问题的幂法

概念反复乘矩阵,主特征值自己浮出

幂法:任取 v₀,迭代 vₖ₊₁ = Avₖ/‖Avₖ‖。若 |λ₁| > |λ₂|,vₖ → λ₁ 的特征向量,范数比 → |λ₁|。收敛速度取决于 |λ₂/λ₁|。
反幂法(位移)求最接近某点的特征值;QR 算法是求全部特征值的工业标准(高等数值分析中展开)。应用:PageRank 就是幂法。

8 常微分方程数值解

概念欧拉法与龙格-库塔

欧拉法:yₙ₊₁ = yₙ + h·f(xₙ, yₙ)——用折线代替曲线,局部截断 O(h²)、全局 O(h)。
改进欧拉 / Heun:平均两个斜率,全局 O(h²);经典 RK4:四级四阶 O(h⁴),工程默认。
稳定性:对 y′ = λy(λ<0),欧拉法要求 h < 2/|λ|,否则数值爆炸(刚性问题的根源)。

操作欧拉法 vs 精确解(y′ = −y)

精确解 y = e^{−t}。步长减半,末端误差大约也减半(一阶方法);试试 h = 2.5 ——超出稳定域,数值直接发散上天!

随堂检测求根 · ODE · 误差