一、误差类型与误差来源
误差类型 |
误差来源 |
具体解释 |
模型误差 |
实际问题→物理模型 |
这个过程中,我们需要作一些假设、近似简化 |
模型误差 |
物理模型→一般数学模型 |
这个过程中,我们也需要做一些假设 |
测量误差 |
一般数学模型→具体数学模型 |
只有测量出一些参数、定解条件才能建立具体的数学模型,而测量时往往会产生误差 |
截断误差 |
具体数学模型→算法编程 |
在构造算法时,为了便于实现,还会再忽略一些影响小的地方 |
舍入误差 |
算法编程→上机计算 |
计算机以二进制方式存储数值,往往存在一些精度问题,从而产生误差。 |
注:上述误差中,我们重点研究的是截断误差。
二、绝对误差与相对误差
1、绝对误差与绝对误差限
- 定义1:
设
x是一个准确值,
x∗是它的近似值。
称
e∗=x∗−x为近似值
x∗的绝对误差,简称误差。
实际上准确值
x常常无法得到,因而无法求出绝对误差,一般只能估计出
e∗的上界,即
∣e∗∣=∣x∗−x∣≤ε∗我们称
ε∗为近似值
x∗的绝对误差限。有了误差限
ε∗,就能知道准确值
x的范围
x∗−ε∗≤x≤x∗+ε∗在工程上常用
x=x∗±ε∗来表示这个范围。
2、相对误差与相对误差限
- 定义2:
设
x∗为准确值
x的一个近似值。
称
er∗=xe∗=xx∗−x为近似值
x∗的相对误差。
实际计算中,由于准确值
x往往无法得到,常常将相对误差取作
er∗=x∗e∗=x∗x∗−x
相对误差常常无法得到,只能估计它的大小范围。如果有正数
εr∗,使得
∣er∗∣=∣x∗e∗∣≤εr∗则称
εr∗为近似值
x∗的相对误差限。
三、有效数字
1、有效数字
- 定义3:
设近似值
x∗的误差限是某一位的半个单位,该位到
x∗的第一位非零数字共有
n位,就说
x∗有n位有效数字。可表示为
x∗=±10m×(a1+a2×10−1+⋯+an×10−(n−1))其中
ai(i=1,2,⋯,n)是0到9中的一个数字,
a1=0,
m为整数,且
∣x−x∗∣≤21×10m−n+1
举个例子吧,比如
x=π=3.14159265⋯×100,这里
m=0,
近似值
x∗ |
(绝对)误差限
ε∗ |
有效数字 |
3 |
|
e∗|
= |
x∗−x|
≤0.14≤0.5=21×100=21×100−1+1 |
1位有效数字 |
3.1 |
|
e∗|
= |
x∗−x|
≤0.05≤0.05=21×10−1=21×100−2+1 |
2位有效数字 |
3.14 |
|
e∗|
= |
x∗−x|
≤0.0016≤0.005=21×10−2=21×100−3+1 |
3位有效数字 |
3.142 |
|
e∗|
= |
x∗−x|
≤0.0005≤0.0005=21×10−3=21×100−4+1 |
4位有效数字 |
3.1416 |
|
e∗|
= |
x∗−x|
≤0.000008≤0.00005=21×10−4=21×100−5+1 |
5位有效数字 |
\ |
\ |
\ |
3.2 |
|
e∗|
= |
x∗−x|
≤0.06≤0.5=21×100=21×100−1+1 |
1位有效数字 |
3.15 |
|
e∗|
= |
x∗−x|
≤0.009≤0.05=21×10−1=21×100−2+1 |
2位有效数字 |
3.141 |
|
e∗|
= |
x∗−x|
≤0.0006≤0.005=21×10−2=21×100−3+1 |
3位有效数字 |
3.1415 |
|
e∗|
= |
x∗−x|
≤0.0001≤0.0005=21×10−3=21×100−4+1 |
4位有效数字 |
再举个例子吧,比如
x=0.019283746=1.9283746×10−2,这里
m=−2,
近似值
x∗ |
(绝对)误差限
ε∗ |
有效数字 |
0.02 |
|
e∗|
= |
x∗−x|
=0.000716254≤0.005=21×10−2=21×10−2−1+1 |
1位有效数字 |
0.019 |
|
e∗|
= |
x∗−x|
=0.000283746≤0.0005=21×10−3=21×10−2−2+1 |
2位有效数字 |
0.0193 |
|
e∗|
= |
x∗−x|
=0.000016254≤0.00005=21×10−4=21×10−2−3+1 |
3位有效数字 |
0.01928 |
|
e∗|
= |
x∗−x|
=0.000003746≤0.000005=21×10−5=21×10−2−4+1 |
4位有效数字 |
0.019284 |
|
e∗|
= |
x∗−x|
=0.000000254≤0.0000005=21×10−6=21×10−2−5+1 |
5位有效数字 |
\ |
\ |
\ |
0.020 |
|
e∗|
= |
x∗−x|
=0.000716254≤0.005=21×10−2=21×10−2−1+1 |
1位有效数字 |
0.0192 |
|
e∗|
= |
x∗−x|
=0.000083746≤0.0005=21×10−3=21×10−2−2+1 |
2位有效数字 |
0.01929 |
|
e∗|
= |
x∗−x|
=0.000006254≤0.00005=21×10−4=21×10−2−3+1 |
3位有效数字 |
0.019283 |
|
e∗|
= |
x∗−x|
=0.000000746≤0.000005=21×10−5=21×10−2−4+1 |
4位有效数字 |
观察上面两个例子,我们很容易得出以下结论:
- 小结1:
如果近似数是由“四舍五入”得到的,显然绝对误差限
ε∗会是最后单位的半个单位,因此最后一位是有效数位,因此从最后一位一直到其最左边第一个(“最左边第一个”需要从左往右数)非零数字之间的一切数字都是有效数字。
下面来看一道例题。
- 例题1:
下面各数是经过“四舍五入”得到的近似值,室温他们各有即为有效数字?误差限是多少?
−3.1433、0.01005、6×103、2×10−3
解:
根据小结1中的结论,我们很容易根据近似值
x∗,计算出有效位数
n
根据定义3中的不等式,我们很容易根据近似值
x∗,计算出近似值科学计数法的幂指数
m
计算如下表所示:
近似值
x∗的科学计数法表示 |
有效位数
n |
近似值
x∗科学计数法幂指数
m |
根据|
x−x∗|
≤21×10m−n+1计算(绝对)误差限
ε∗ |
−3.1433=−3.1433×100 |
5 |
0 |
21×100−5+1=21×10−4 |
0.01005=1.005×10−2 |
4 |
−2 |
21×10−2−4+1=21×10−5 |
6×103 |
1 |
3 |
21×103−1+1=21×103 |
2×10−3 |
1 |
−3 |
21×10−3−1+1=21×10−3 |
2、有效数字与相对误差限的关系
有效数字与相对误差限的关系,有下面的定理。
- 定理1:
设近似数
x∗表示为
x∗=±10m×(a1+a2×10−1+⋯+al×10−(l−1)),其中
ai(i=1,2,⋯,n)是0到9中的一个数字,
a1=0,
m为整数,
- 若
x∗具有
n位有效数字,则其相对误差限
εr∗≤2a11×10−(n−1)
- 反之,若
x∗的相对误差限
εr∗满足
εr∗≤2(a1+1)1×10−(n−1)则
x∗至少具有
n位有效数字。
定理1实际上说明了:有效位数越多,相对误差限越少。
四、数值计算中的误差估计
1、两个近似值运算的误差限
- 结论1
设两个近似值
x1∗与
x2∗的误差限分别为
ε(x1∗)、
ε(x2∗),则将它们加、减、乘、除运算所得到的误差限分别满足以下不等式:
-
ε(x1∗±x2∗)≤ε(x1∗)+ε(x2∗)
-
ε(x1∗x2∗)≤∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗)
-
ε(x2∗x1∗)≤∣x2∗∣2ε(x1∗x2∗)≤∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗),
x2∗=0
2、近似值带入一元函数产生的误差
- 结论2
根据泰勒公式,可知:
∣f(x)−f(x∗)∣≤∣f′(x∗)∣ε(x∗)+2∣f′′(ξ)∣ε2(x∗)忽略高阶项,可得计算函数的误差限
ε(f(x∗))≈∣f′(x∗)∣ε(x∗)
3、近似值带入多元函数产生的误差
- 结论3
设
A=f(x1,x2,⋯,xn),
A∗=f(x1∗,x2∗,⋯,xn∗)
根据泰勒公式,可知,
A∗的相对误差限为
εr∗=εr(A∗)=∣A∗∣ε(A∗)≈k=1∑n∣∣∣∣(∂xk∂f)∗∣∣∣∣⋅∣A∗∣ε(xk∗)