参考教材:孙志忠, 吴宏伟, 等. 计算方法与实习[M]. 第五版. 南京: 东南大学出版社, 2011:1-16.
误差的来源
- 模型误差:数学建模与实际问题之间出现的误差
- 观测误差:观测时得到的误差
- 截断误差:有限过程代替无限过程的误差,是本课中需要特别重视的
- 舍入误差
误差是不可避免的,要求绝对准确、绝对严格实际上是办不到的。前两种误差是客观存在的,后两种误差是由计算方法及计算过程所引起的。本课程研究数学问题的数值解法,因此只涉及后两种误差。
绝对误差与绝对误差限
设 $x^*$ 为准确值, $x$ 是 $x^*$ 的一个近似值,称 $e=x^*-x$ 为近似值 $x$ 的绝对误差,简称误差。
误差 $e$ 可正可负,绝对误差不是误差绝对值。因为通常不能算出准确值 $x^*$ 和误差 $e$ ,只能得到误差的某个范围,即:
$|e|=|x^*-x|\leq\varepsilon$
称 $\varepsilon$ 为近似值 $x$ 的绝对误差限,简称误差限。也可以表示为 $x^*=x\pm\varepsilon$
对于给定的 $\varepsilon$ ,若 $|x^*-x|\leq\varepsilon$ ,则在允许误差 $\varepsilon$ 范围内认为 $x$ 就是 $x^*$ ,也即近似值 $x$ 和真值 $x^*$ 关于允许误差 $\varepsilon$ 可以看成是“重合”的,或者说值 $x$ 关于允许误差 $\varepsilon$ 是“准确”的。
相对误差与相对误差限
相对误差是误差与真值的比值,记作 $e_r=\frac{x^*-x}{x^*}=\frac{e}{x^*}$
实际计算中,真值 $x^*$ 难以求得。所以常以 $\bar{e}_r=\frac{x^*-x}{x}$ 作为相对误差。
因为 $\bar e_r-e_r=\frac{\bar e^2_r}{1+\bar e_r}=\frac{e^2_r}{1-e_r}$ ,所以当 $\bar e_r$ 与 $e_r$ 有一为小量时, $\bar e_r-e_r$ 为该小量的二阶小量。
计算相对误差与计算绝对误差有相同的困难,所以通常也只考虑相对误差限。若存在正数 $\epsilon_r$ 使 $|e_r|\leq\epsilon_r$ 或 $|\bar e_r|\leq\epsilon_r$ ,则称 $\epsilon_r$ 为 $x$ 的相对误差限。
有效数字
如果近似值 $x$ 的误差限是其某一位上的半个单位,且该位直到 $x$ 的第 1 位非零数字一共有 $n$ 位,则称近似值 $x$ 有 $n$ 位有效数字。
如: $x^*=\sqrt{3}=1.732050808\cdots$ 。取 3 位有效数字, $x=1.73,\varepsilon\lt0.005$ 。
需要注意, $x=1.731$ 时 $e=0.00150808\cdots\lt0.005$ ,仍是三位有效数字。有效数字与数字位数相等的数叫做有效数。
有效数位 $n$ 越多,则绝对误差 $e$ 越小
若近似数 $x$ 具有 $n$ 位有效数字,则其相对误差限 $|e_r(x)|\le\frac{1}{2a_1}\times10^{1-n}$
数据误差的影响
一元函数情形
设 $y=f(x)$ ,则 $y^*=f(x^*)$ ,由 Taylor 公式展开
$e(y)=y^*-y=f(x^*)-f(x)\approx f’(x)(x^*-x)=f’(x)e(x)$
发现当 $f’(x)\gt1$ 时误差扩大, $f’(x)\lt1$ 时误差减小
两遍除以 $y=f(x)$ 得
$e_r(y)=\frac{e(y)}y\approx\frac{f’(x)}{f(x)}xe_r(x)$
多元函数情形
由多元函数 Taylor 展开,类似可得
$e(y)\approx\sum_{i=1}^nf_i’(x_1,x_2,\cdots,x_n)e(x_i)$
$e_r(y)\approx\sum_{i=1}^n\frac{f_i’(x_1,x_2,\cdots,x_n)}{f(x_1,x_2,\cdots,x_n)}x_ie_r(x_i)$
运算的误差估计
机器数系
略(P7)
误差危害的防止
- 选用数值稳定性好的算法,以控制舍入误差高速增长
- 防止大数“吃掉”小数
- 尽量避免相近数相减
- 尽量避免用绝对值很大的数作乘数
- 注意简化计算步骤,减少运算次数