一个数的精确值与其近似值的差称为误差。
一个数的观察值与其估计值之差称为残差。
在实际测量中,得到的精确值一般都是离散量。例如:一个教室中有40个学生,显然40就是一个精确值。相反,得到的近似值一般都是连续量。例如:一支铅笔的长度约为13.3cm,13.3cm就是一个近似值。
在数值计算中,绝大多数情况都不存在精确值,因为误差在数值计算中是不可避免的,我们能够考虑的不是消除误差,而是将误差限制在允许的精度以内。
定量分析客观事物时,要抓住其本质,忽略其次要因素,建立已知量和未知量之间的数学关系式,即数学模型。因为数学模型重点在于客观事物的本质,因而只是客观事物的近似描述,所以必然存在模型误差。
例如:物体在重力作用下的自由落体运动,下落距离h和时间之间满足自由落体公式 h = 1 2 t 2 h=\frac{1}{2}t^2 h=21t2
这个公式忽略的次要因素是空气阻力,突出的主要因素是下落距离和时间之间的关系。
通过测量和实验得到的数值受工具和方法限制,会有观测误差。
高等数学中引入了极限的定义,具体为离散的无穷级数,连续的微积分,普通的计算机每秒能进行几亿次浮点运算,但是如果运算次数是无穷的话计算机再快也不可能算完的。因而实际计算中用有限来近似无限,也就是无穷过程的截断,这就产生了截断误差。
数学中的数的位数理论上可以无限长,但是计算机的字长有限,因而只能进行有限位的计算,因而需要将待运算的数进行四舍五入,这就产生了舍入误差。
例如:圆周率 π \pi π=3.14159265…, 2 \sqrt{2} 2=1.41421356…等等,在计算机中计算时只能取有限位小数,如对小数点后四位进行四舍五入, π ≈ \pi\approx π≈ 3.1416,舍入误差e=3.1416 − π -\pi −π。
近似数表示为 近似值 ± \pm ±误差限
绝对误差就是精确值与近似值的差,记为 e ( x ∗ ) = x − x ∗ e(x*) = x - x* e(x∗)=x−x∗。 ∣ e ( x ∗ ) ∣ |e(x*)| ∣e(x∗)∣越小,精度越高。
绝对误差限是绝对误差的上界,记为 ε ( x ∗ ) ≥ \varepsilon(x*)\geq ε(x∗)≥ ∣ e ( x ∗ ) ∣ |e(x*)| ∣e(x∗)∣。引入绝对误差限的目的是方便近似数的误差表示,如果直接使用 近似值 ± \pm ±绝对误差 的方式来表示近似数的话,绝对误差本身便是无限小数(因为连续量可以无限细分),显然很不方便。而有了绝对误差限的概念,将精确值所在的区间准确地表达,而且绝对误差限通常只有一位有效数字。
四舍五入得到的近似数的绝对误差限为其末位的半个单位。证明略。
相对误差就是绝对误差与精确值的比值,记为 e r = e ( x ∗ ) x = x − x ∗ x e_r=\frac{e(x*)}{x}=\frac{x-x*}{x} er=xe(x∗)=xx−x∗。在实际问题中,精确值是未知的,因而在计算相对误差时用近似值代替精确值。
相对误差限是是相对误差的上界,记为 ε r ( x ∗ ) ≥ ε ( x ∗ ) ∣ x ∗ ∣ \varepsilon_r(x*) \geq\frac{\varepsilon(x*)}{|x*|} εr(x∗)≥∣x∗∣ε(x∗)。
为什么引入有效数字?
因为使用误差加减误差限的方式表示近似数,计算近似值的绝对误差或相对误差较为繁琐,而使用有效数字表示近似数不但能够表示近似数而且可以根据有效数字的位数简单计算其精度。
有效数字就是从第一个非零数开始到绝对误差限的位数的数字的个数。
通过近似值进行运算后的结果一般也是近似值,这一现象称为误差传播。
一元函数运算误差
ε [ f ( x ∗ ) ] ≈ ∣ f ( x ∗ ) ˙ ∣ e ( x ∗ ) \varepsilon[f(x*)]\approx|\dot{f(x*)}|e(x*) ε[f(x∗)]≈∣f(x∗)˙∣e(x∗)
ε r [ f ( x ∗ ) ] ≈ ∣ f ( x ∗ ) ˙ f ( x ∗ ) ∣ e ( x ∗ ) \varepsilon_r[f(x*)]\approx|\frac{\dot{f(x*)}}{f(x*)}|e(x*) εr[f(x∗)]≈∣f(x∗)f(x∗)˙∣e(x∗)
推导思路:在x附近将f(x)一阶泰勒展开。
多元函数运算误差
ε [ y ∗ ] ≈ ∑ i = 1 n ∣ ∂ f ( x i ) ∂ x i ∣ e ( x ∗ ) \varepsilon[y*]\approx\sum_{ i=1}^{n}| \frac{ \partial f(x_i) }{\partial x_i} |e(x*) ε[y∗]≈∑i=1n∣∂xi∂f(xi)∣e(x∗)
ε r [ y ∗ ] ≈ ∑ i = 1 n ∣ ∂ f ( x i ) ∂ x i ∣ e ( x ∗ ) y ∗ \varepsilon_r[y*]\approx\sum_{ i=1}^{n}| \frac{ \partial f(x_i) }{\partial x_i} |\frac{e(x*)}{y*} εr[y∗]≈∑i=1n∣∂xi∂f(xi)∣y∗e(x∗)
算术运算误差可以通过多元函数运算误差推导得到。
加法运算时各个加数的系数为1,偏导数也为1,所以加法运算的绝对误差不超过各个加数的绝对误差之和,加法运算的相对误差不超过各个加数中最不准确的那一项的相对误差。
同理可以得到乘法和除法运算的相对误差和绝对误差公式。这里以两数运算为例写出,
∣ e ( x 1 ∗ x 2 ∗ ) ∣ ≈ ∣ x 1 ∗ ∣ ∣ e ( x 2 ∗ ) ∣ + ∣ x 2 ∗ ∣ ∣ e ( x 1 ∗ ) ∣ |e(x1^* x2^*)| \approx |x1^*||e(x2^*)|+|x2^*||e(x1^*)| ∣e(x1∗x2∗)∣≈∣x1∗∣∣e(x2∗)∣+∣x2∗∣∣e(x1∗)∣
∣ e ( x 1 ∗ x 2 ∗ ) ∣ ≈ ∣ x 1 ∗ ∣ ∣ e ( x 2 ∗ ) ∣ + ∣ x 2 ∗ ∣ ∣ e ( x 1 ∗ ) ∣ ( x 2 ∗ ) 2 , x 2 ∗ 不 等 于 0 |e(\frac{x1^* }{ x2^*})| \approx \frac{|x1^*||e(x2^*)|+|x2^*||e(x1^*)|}{(x^*_2)^2}, x^*_2 不等于 0 ∣e(x2∗x1∗)∣≈(x2∗)2∣x1∗∣∣e(x2∗)∣+∣x2∗∣∣e(x1∗)∣,x2∗不等于0