Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 1 讲(09-07):数值分析对象与误差理论

课堂实录精编。本讲对应本书 1.1 数值分析的研究对象 与 1.2 误差知识与算法知识;原书 1.1–1.2 节。 引例与误差分类部分取自 PPT,四个数值例题全程板书推导。 对应学习目标:K1.1、K1.2、K1.5 · S1.4、S1.5(目标清单)。

10 分钟复习版 · 第 1 讲

一句话:数值分析 = 构造数值方法 + 编程求解 + 误差分析;本讲立起误差的四分类与误差限运算。

必记结论

内容 要点
四类误差 模型 / 观测误差无法消除(各归建模、测量学科);截断 / 舍入误差是本课程能控制、要研究的对象
误差三件套 e=x−ae=x-a;∣e∣≤ε\lvert e\rvert\le\varepsilon,记作 x=a±εx=a\pm\varepsilon;er=x−ax≈x−aae_r=\dfrac{x-a}{x}\approx\dfrac{x-a}{a}
四则误差限 ε(x±y)=εx+εy\varepsilon(x\pm y)=\varepsilon_x+\varepsilon_y;ε(xy)≈∣b∣εx+∣a∣εy\varepsilon(xy)\approx\lvert b\rvert\varepsilon_x+\lvert a\rvert\varepsilon_y;ε(x/y)≈∣b∣εx+∣a∣εyb2\varepsilon(x/y)\approx\dfrac{\lvert b\rvert\varepsilon_x+\lvert a\rvert\varepsilon_y}{b^2}——除法含 b2b^2,小除数危险
算法评价三要素 算得准(稳定性 / 收敛性)· 算得快(复杂度)· 用得省(存储),三者一般不可兼得

四个板书例题(考试原型)

  1. I=∫01e−x2dxI=\int_0^1e^{-x^2}dx:麦克劳林逐项积分 I≈1−13+110−142=2635≈0.7429I\approx1-\frac13+\frac1{10}-\frac1{42}=\frac{26}{35}\approx0.7429,余项 ≤1216≈0.0046\le\frac1{216}\approx0.0046——截断误差靠提高阶数控制。
  2. J=∫5∞e−x2dxJ=\int_5^{\infty}e^{-x^2}dx:分部积分构造渐近展开,每分一次多出 1/(2x2)1/(2x^2) 型因子迅速变小。
  3. In=1n−5In−1I_n=\dfrac1n-5I_{n-1}:误差传播 εn=−5εn−1\varepsilon_n=-5\varepsilon_{n-1},∣−5∣>1\lvert-5\rvert\gt1 不稳定;反解 In−1=1/n−In5I_{n-1}=\frac{1/n-I_n}{5},因子 −1/5-1/5,稳定。
  4. 107−110^7-1:对阶时 10−710^{-7} 已被截为 0——不要把大小悬殊的两数直接相加减。

老师强调的考点:判断递推是否稳定,只看舍入误差的放大因子是否超过 1——不看递推式本身长什么样。

对应正文:1.1 · 1.2(误差分类 1.2.1、误差限 1.2.2、递推稳定性 1.2.4)

课堂时间线

时间内容
02:30–05:30课程概况:考核方式、程序大作业要求
05:30–08:20引入:没有计算机的时代人们怎么做计算(Kepler 生算行星轨道、数学物理方程的级数解)
08:20–13:00三个引例:Kepler 方程、海洋水温插值、波纹瓦弧长
13:00–18:00数值分析的内涵与数值计算基本流程
18:00–27:30课程七章地图、教材与参考书、学习要求与答疑安排
27:30–34:53算法评价三要素(算得准 / 算得快 / 用得省)
34:53–40:00误差的来源与四大分类
40:00–71:30板书例 1–3:∫01e−x2dx\int_0^1 e^{-x^2}dx、∫5∞e−x2dx\int_5^{\infty}e^{-x^2}dx、递推数列的稳定性
71:30–76:10例 4:大数吃小数
76:10–97:30误差、绝对误差限、相对误差(限)与四则运算误差限公式推导

下面按课堂时间顺序展开:先看课程的定位与三个引例,再谈算法评价标准和误差分类,最后是四道板书例题与误差的基本概念。

一、数值分析是做什么的(PPT 原文)

  1. 构造求解科学与工程计算问题的数值方法;
  2. 在计算机上实现所构造的算法并求得数值解;
  3. 对构造的数值方法进行评估(误差、稳定性)。

数值计算基本流程:现实世界(研究对象 + 测量数据)→ 数学模型 → 数值计算方法 → 程序设计 → 上机计算 → 返回验证。三件要紧事:设计算法、编程求解、误差分析。

老师特别提醒:网格加密不一定更准——“有可能网格越密偏得越大”,所以必须对误差有数量级的概念。

二、三个引例(为什么需要数值方法)

引例 1(非线性方程求根) Kepler 方程

x−εsin⁡x−t=0,0<ε<1.x-\varepsilon\sin x-t=0,\qquad 0&lt;\varepsilon&lt;1 .

这是超越方程,xx 隐含在方程中,没有解析解,只能数值求解。

引例 2(插值) 某处海洋不同深度测得水温

深度 (m)46674195014221634
水温 (℃)7.044.283.402.542.13

我们希望由此合理估计其它深度(500 m、600 m、1000 m…)的水温,也就是由离散采样还原连续趋势。 老师点评:神经网络本质上就是一种更高级的非线性插值。

引例 3(数值积分) 波纹瓦长 48 英寸、波形 f(x)=sin⁡(x)/2f(x)=\sin(x)/2,所需铝板长度就是弧长

L=∫0481+(f′(x))2 dx=∫0481+cos⁡2x4 dx,L=\int_0^{48}\sqrt{1+\big(f&#x27;(x)\big)^2},dx =\int_0^{48}\sqrt{1+\frac{\cos^2 x}{4}},dx,

这是第二类椭圆积分,不能表示为初等函数,只能借助无穷级数或数值方法求解。

三、算法评价三要素(PPT:衡量数值算法的几个标准)

  • 算得准——数值稳定性(误差是否受控、会不会被逐步放大)与收敛性 (即 xn+1=f(xn)x_{n+1}=f(x_n),n→∞n\to\infty 时 xn→x∗x_n\to x^*);
  • 算得快——计算时间 / 复杂度(例如卷积直接计算需 O(N2)O(N^2),FFT 把它降到 O(Nlog⁡N)O(N\log N));
  • 用得省——内存、CPU、硬盘(例如高维张量的 QTT 存储把 NDN^D 级的存储量降为与 DD 成线性)。

三者一般不可兼得;要同时做好,必须对问题本身有深入的理解——用老师的话说:“你多算点,计算机就少算点”。

四、误差的来源与分类(PPT:误差的分类 1/4–4/4)

按计算流程,误差可分为四类:

类型产生环节能否消除
模型误差 (model error)对实际问题抽象、简化归各学科管,无法消除
观测误差 (observation error)参量靠观测获得无法消除,只能估计大小
截断误差 (truncation error)数值方法是近似方法本课程能控制、要研究的核心对象
舍入误差 (roundoff error)计算机字长有限由机器决定,可控制其传播

五、板书例题详解(本讲精华)

例 1 幂级数逐项积分求 I=∫01e−x2dx\displaystyle I=\int_0^1 e^{-x^2}dx

e−x2e^{-x^2} 没有初等原函数,于是用麦克劳林公式展开、取前四项(截断到 −x6/3!-x^6/3! 项):

e−x2=1−x2+x42!−x63!+⋯e^{-x^2}=1-x^2+\frac{x^4}{2!}-\frac{x^6}{3!}+\cdots

I≈∫01(1−x2+x42−x66)dx=1−13+110−142=2635≈0.7429.I\approx\int_0^1\Big(1-x^2+\frac{x^4}{2}-\frac{x^6}{6}\Big)dx =1-\frac13+\frac1{10}-\frac1{42}=\frac{26}{35}\approx 0.7429 .

余项估计(拉格朗日型余项):R=∫01e−θx2x84! dxR=\displaystyle\int_0^1\frac{e^{-\theta x^2}x^8}{4!},dx, 由 0<θ<10&lt;\theta&lt;1、e−θx2≤1e^{-\theta x^2}\le 1 得

∣R∣≤∫01x84! dx=14!×9=1216≈0.0046.|R|\le\int_0^1\frac{x^8}{4!},dx=\frac{1}{4!\times 9}=\frac{1}{216}\approx 0.0046 .

阶数取得越高,误差就越小——截断误差可以靠提高阶数来控制。

例 2 分部积分构造渐近展开求 J=∫5∞e−x2dx\displaystyle J=\int_5^{\infty}e^{-x^2}dx

无穷区间上不能再用幂级数逐项积分,改由 e−x2dx=−12x d(e−x2)e^{-x^2}dx=-\dfrac{1}{2x},d(e^{-x^2}) 作分部积分:

J=e−2510−∫5∞e−x22x2 dx,J=\frac{e^{-25}}{10}-\int_5^{\infty}\frac{e^{-x^2}}{2x^2},dx ,

对剩余积分继续分部积分,又分出 e−25/500e^{-25}/500 等项。每分一次,被积函数就多出一个 1/(2x2)1/(2x^2) 型因子而迅速变小;前面各项都能精确计算,余项越来越小,直到满足精度要求。 老师点评:“分析学的问题多一半靠分部积分。”

例 3 递推算法的稳定性:In=∫01xnx+5 dx\displaystyle I_n=\int_0^1\frac{x^n}{x+5},dx

由 xn=xn−1(x+5)−5xn−1x^n=x^{n-1}(x+5)-5x^{n-1} 得递推式与初值:

In=1n−5In−1,I0=ln⁡65.I_n=\frac1n-5I_{n-1},\qquad I_0=\ln\frac65 .

设某一步带有舍入误差 εn−1\varepsilon_{n-1},两式相减便得到误差的传播规律

εn=−5εn−1(∣5∣>1, 误差逐步放大⇒不稳定).\varepsilon_n=-5\varepsilon_{n-1}\quad(|5|&gt;1,\ \text{误差逐步放大}\Rightarrow\text{不稳定}) .

反解改写为

In−1=1/n−In5,εn−1=−15εn(∣−1/5∣<1, 误差逐步衰减⇒稳定),I_{n-1}=\frac{1/n-I_n}{5},\qquad \varepsilon_{n-1}=-\frac15\varepsilon_n \quad(|{-1/5}|&lt;1,\ \text{误差逐步衰减}\Rightarrow\text{稳定}) ,

于是从较大的 nn 出发(此时 InI_n 很小、近似值好),倒推回 I1I_1。 判断标准:只看舍入误差在递推中的放大因子是否超过 1。 课下实验:正向递推斐波那契数列,递推到几十乃至一百多项就会“算飞“。

例 4 大数吃小数:107−110^7-1

计算机先把两数统一成同一种科学计数法,再对尾数运算: 1.0×1071.0\times 10^7 与 0.0000001×1070.0000001\times 10^7。若机器尾数只保留 5 位, 后者在对阶时就已经被截为 0——减都不用减,结果仍是“一千万“。 结论:不要把大小悬殊的两个数直接相加减。

六、误差的基本概念(板书推导)

设 xx 为精确值,aa 为其近似值。

绝对误差与绝对误差限:误差 e=x−ae=x-a;若 ∣x−a∣≤ε|x-a|\le\varepsilon,则称 ε\varepsilon 为绝对误差限, 记作 x=a±εx=a\pm\varepsilon(与物理实验写法一致)。

相对误差与相对误差限:

er=x−ax,εr=ε∣x∣≈ε∣a∣(前提 ∣e∣≪∣a∣),e_r=\frac{x-a}{x},\qquad \varepsilon_r=\frac{\varepsilon}{|x|}\approx\frac{\varepsilon}{|a|} \quad(\text{前提 } |e|\ll|a|) ,

理论上,定义式分母用精确值 ∣x∣|x|;实际计算中与正文一致,改取 ∣a∣|a|——分母用 xx 在计算中不可行(见正文 1.2.2 常见错误 2)。

四则运算的误差限(推导思想:把误差当作“微分“处理,略去高阶小量 exeye_xe_y,再用三角不等式):

ε(x±y)=εx+εy,ε(xy)≈∣b∣εx+∣a∣εy,ε(xy)≈∣b∣εx+∣a∣εyb2,\varepsilon(x\pm y)=\varepsilon_x+\varepsilon_y,\qquad \varepsilon(xy)\approx|b|\varepsilon_x+|a|\varepsilon_y,\qquad \varepsilon\Big(\frac{x}{y}\Big)\approx\frac{|b|\varepsilon_x+|a|\varepsilon_y}{b^2},

其中 a,ba,b 分别是 x,yx,y 的近似值。除法的误差限含 b2b^2——分母小时误差会暴涨, 这直接引出第 2 讲的“小数不放分母“守则。

七、课程信息与老师强调

  • 考核:期末闭卷 70%(侧重算法理论与分析)+ 平时 15%(作业、课堂表现、章节自测)+ 综合大作业 15%;课程约两个月结课,考试统一安排在期末。
  • 程序大作业:学期末提交,要求用所学算法解决一个问题,可以组队。
  • 先修复习:线性代数——特征值、矩阵的秩、矩阵的逆。
  • 怎么学:证明是为了帮助理解,不要求背;公式要每步亲手推导,只看 PPT 不行;带着自己课题中的问题来学;对每类问题形成自己的一套程序库。
  • 答疑:周一下午沙河图书馆;办公室沙河主楼 E501-5。
  • 教材:颜庆津《数值分析》(北航出版社)+ 课程组讲义;参考书特别推荐 Burden & Faires《数值分析》(第 7 版影印)。
  • 七章地图:①概述与误差 → ②线性方程组解法 → ③矩阵特征值与特征向量 → ④非线性方程(组)求解 → ⑤函数插值、逼近与正交多项式 → ⑥数值积分 → ⑦数值微分与常微分方程数值解。离散化问题“八成最终变成线性方程组“,所以第 2、3 章是核心。(这是课堂 PPT 的课程划分,属第三套章号;本教程正文里的「第 N 章」指本书路线图的 12 章体系,提到颜庆津原书时一律带「原书」二字,三套编号不要混。)

八、课堂口述与标准术语对照(节选)

老师口述/转写标准术语
追逐分析数值分析
阶段误差 / 进段误差截断误差
舌误差 / 舍路误差舍入误差
误差线误差限
马克老林级数麦克劳林(Maclaurin)级数
大规则大作业