2026-09-02 计算物理:数值误差与稳定计算

计算物理

内容:

  1. 科学计算基本原则
  2. 插值、函数拟合
  3. 数值微积分、解 ★
  4. 非线性方程求根与方程组 ★
  5. 矩阵、特征值/向量 ★
  6. 常微分方程数值解 ★
  7. 偏微分方程初边值问题 → 基本掌握
  8. Monte Carlo 方法

9 次上机课考试,手撕代码(50%)
10 次提交课堂作业,可查资料(50%)

Chap 1:科学计算

Steps:

  1. 建模 → 解析求解
  2. 设计算法 → 编写程序 → 上机运行

设计算法得到数值结果:检验;与实验结果对比(修正)。

计算机特点:

  • 擅长离散系统(连续系统离散化)

  • 精度有限

  • 擅长四则运算、逻辑、迭代计算

原则:近似化、可用。

误差分类:

  1. 模型误差:理论模型与实际系统
  2. 测量误差
  3. 截断误差(Taylor 展开……),迭代次数太大
  4. 舍入误差

刻画:

  • 绝对:|x−x∗| ,x∗ :真值
  • 相对:|x−x∗|x∗ → 一般用可求的值代替 x∗

Taylor 展开(一阶):

εy=y−y∗=f(x1,…,xn)−f(x1∗,…,xn∗)≈∑i=1n∂f(x1∗,…,xn∗)∂xi∗(xi−xi∗).

其中 xi−xi∗ 为输入误差。

原则 3:使用稳定的公式,控制误差的传播。

例:

In=e−1∫01xnexdx.

分部积分:

In=e−1∫01xnd(ex)=e−1[xnex−∫01nxn−1exdx]=1−nIn−1.

得到递推公式,而

I0=1−e−1.

根据此递推式,得到 I8<0 。

原因:递推时,每次误差乘以 n 。

反过来算:

In−1=1n(1−In),

往回迭代。

如何求后面的 In :

e−1min(ex)∫01xndx<In<e−1max(ex)∫01xndx,

即

e−11n+1<In<e−1en+1=1n+1.

当 n 很大,可夹逼得到 In 。

例 2:秦九韶算法。

P(x)=anxn+⋯+a1x+a0.

常规需要

n+(n−1)+⋯+1

次乘法。

秦:

P(x)={⋯[(anx+an−1)x+an−2]⋯}x+a0.

只需 n 次乘法和 n 次加法。

例 3:尽量避免大小相近数相减。

如:

x+1−x,x=1000,

有效数字 4 → 1。

x+1−x=1x+1+x.

(小量 → 倒数,分母变大。)

例 4:

绝对值太小不宜做除数。

3.140.001−3.140.0011,

误差放大。


2026-09-02 计算物理:数值误差与稳定计算
https://sitson.pages.dev/2026/09/02/2026-09-02-computational-physics-errors-stability/
Author
Joe Lewis
Posted on
September 2, 2026
Licensed under