《数值分析》学习笔记 ·002——误差知识
文章目录
- 一、误差类型与误差来源
- 二、绝对误差与相对误差
- 1、绝对误差与绝对误差限
- 2、相对误差与相对误差限
- 三、有效数字
- 1、有效数字
- 2、有效数字与相对误差限的关系
- 四、数值计算中的误差估计
- 1、两个近似值运算的误差限
- 2、近似值带入一元函数产生的误差
- 3、近似值带入多元函数产生的误差
一、误差类型与误差来源
误差类型 | 误差来源 | 具体解释 |
---|---|---|
模型误差 | 实际问题→物理模型 | 这个过程中,我们需要作一些假设、近似简化 |
模型误差 | 物理模型→一般数学模型 | 这个过程中,我们也需要做一些假设 |
测量误差 | 一般数学模型→具体数学模型 | 只有测量出一些参数、定解条件才能建立具体的数学模型,而测量时往往会产生误差 |
截断误差 | 具体数学模型→算法编程 | 在构造算法时,为了便于实现,还会再忽略一些影响小的地方 |
舍入误差 | 算法编程→上机计算 | 计算机以二进制方式存储数值,往往存在一些精度问题,从而产生误差。 |
注:上述误差中,我们重点研究的是截断误差。
二、绝对误差与相对误差
1、绝对误差与绝对误差限
- 定义1:
设xxx是一个准确值,x∗x^*x∗是它的近似值。
称e∗=x∗−xe^*=x^*-xe∗=x∗−x为近似值x∗x^*x∗的绝对误差,简称误差。实际上准确值xxx常常无法得到,因而无法求出绝对误差,一般只能估计出e∗e^*e∗的上界,即∣e∗∣=∣x∗−x∣≤ε∗| e^* | = |x^* - x| \leq \varepsilon^*∣e∗∣=∣x∗−x∣≤ε∗我们称ε∗\varepsilon^*ε∗为近似值x∗x^*x∗的绝对误差限。有了误差限ε∗\varepsilon^*ε∗,就能知道准确值xxx的范围x∗−ε∗≤x≤x∗+ε∗x^* - \varepsilon^* \leq x \leq x^* + \varepsilon^*x∗−ε∗≤x≤x∗+ε∗在工程上常用x=x∗±ε∗x = x^* \pm \varepsilon^*x=x∗±ε∗来表示这个范围。
2、相对误差与相对误差限
- 定义2:
设x∗x^*x∗为准确值xxx的一个近似值。
称er∗=e∗x=x∗−xxe_r^*= \frac {e^*} {x} = \frac {x^* - x} {x}er∗=xe∗=xx∗−x为近似值x∗x^*x∗的相对误差。实际计算中,由于准确值xxx往往无法得到,常常将相对误差取作er∗=e∗x∗=x∗−xx∗e_r^*=\frac {e^*} {x^*} = \frac {x^* - x} {x^*}er∗=x∗e∗=x∗x∗−x
相对误差常常无法得到,只能估计它的大小范围。如果有正数εr∗\varepsilon_r^*εr∗,使得∣er∗∣=∣e∗x∗∣≤εr∗| e_r^* |=| \frac {e^*} {x^*} | \leq \varepsilon_r^*∣er∗∣=∣x∗e∗∣≤εr∗则称εr∗\varepsilon_r^*εr∗为近似值x∗x^*x∗的相对误差限。
三、有效数字
1、有效数字
- 定义3:
设近似值x∗x^*x∗的误差限是某一位的半个单位,该位到x∗x^*x∗的第一位非零数字共有nnn位,就说x∗x^*x∗有n位有效数字。可表示为x∗=±10m×(a1+a2×10−1+⋯+an×10−(n−1))x^* = \pm 10^m \times (a_1 + a_2 \times 10^{-1} + \cdots + a_n \times 10^{-(n-1)})x∗=±10m×(a1+a2×10−1+⋯+an×10−(n−1))其中ai(i=1,2,⋯,n)a_i(i = 1, 2, \cdots, n)ai(i=1,2,⋯,n)是0到9中的一个数字,a1≠0a_1 \not= 0a1=0,mmm为整数,且∣x−x∗∣≤12×10m−n+1| x - x^* | \leq \frac {1} {2} \times 10^{m - n + 1}∣x−x∗∣≤21×10m−n+1
举个例子吧,比如x=π=3.14159265⋯×100x = \pi = 3.14159265\cdots \times 10^0x=π=3.14159265⋯×100,这里m=0m = 0m=0,
近似值x∗x^*x∗ | (绝对)误差限ε∗\varepsilon^*ε∗ | 有效数字 |
---|---|---|
333 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.14≤0.5=12×100=12×100−1+1\leq 0.14 \leq 0.5 = \frac {1} {2} \times 10^{0} = \frac{1} {2} \times 10^{0 - 1 + 1}≤0.14≤0.5=21×100=21×100−1+1 | 111位有效数字 |
3.13.13.1 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.05≤0.05=12×10−1=12×100−2+1\leq 0.05 \leq 0.05 = \frac {1} {2} \times 10^{-1} = \frac{1} {2} \times 10^{0 - 2 + 1}≤0.05≤0.05=21×10−1=21×100−2+1 | 222位有效数字 |
3.143.143.14 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.0016≤0.005=12×10−2=12×100−3+1\leq 0.0016 \leq 0.005 = \frac {1} {2} \times 10^{-2} = \frac{1} {2} \times 10^{0 - 3 + 1}≤0.0016≤0.005=21×10−2=21×100−3+1 | 333位有效数字 |
3.1423.1423.142 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.0005≤0.0005=12×10−3=12×100−4+1\leq 0.0005 \leq 0.0005 = \frac {1} {2} \times 10^{-3} = \frac{1} {2} \times 10^{0 - 4 + 1}≤0.0005≤0.0005=21×10−3=21×100−4+1 | 444位有效数字 |
3.14163.14163.1416 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.000008≤0.00005=12×10−4=12×100−5+1\leq 0.000008 \leq 0.00005 = \frac {1} {2} \times 10^{-4} = \frac{1} {2} \times 10^{0 - 5 + 1}≤0.000008≤0.00005=21×10−4=21×100−5+1 | 555位有效数字 |
\ | \ | \ |
3.23.23.2 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.06≤0.5=12×100=12×100−1+1\leq 0.06 \leq 0.5 = \frac {1} {2} \times 10^{0} = \frac{1} {2} \times 10^{0 - 1 + 1}≤0.06≤0.5=21×100=21×100−1+1 | 111位有效数字 |
3.153.153.15 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.009≤0.05=12×10−1=12×100−2+1\leq 0.009 \leq 0.05 = \frac {1} {2} \times 10^{-1} = \frac{1} {2} \times 10^{0 - 2 + 1}≤0.009≤0.05=21×10−1=21×100−2+1 | 222位有效数字 |
3.1413.1413.141 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.0006≤0.005=12×10−2=12×100−3+1\leq 0.0006 \leq 0.005 = \frac {1} {2} \times 10^{-2} = \frac{1} {2} \times 10^{0 - 3 + 1}≤0.0006≤0.005=21×10−2=21×100−3+1 | 333位有效数字 |
3.14153.14153.1415 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| ≤0.0001≤0.0005=12×10−3=12×100−4+1\leq 0.0001 \leq 0.0005 = \frac {1} {2} \times 10^{-3} = \frac{1} {2} \times 10^{0 - 4 + 1}≤0.0001≤0.0005=21×10−3=21×100−4+1 | 444位有效数字 |
再举个例子吧,比如x=0.019283746=1.9283746×10−2x = 0.019283746 = 1.9283746 \times 10^{-2}x=0.019283746=1.9283746×10−2,这里m=−2m = -2m=−2,
近似值x∗x^*x∗ | (绝对)误差限ε∗\varepsilon^*ε∗ | 有效数字 |
---|---|---|
0.020.020.02 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000716254≤0.005=12×10−2=12×10−2−1+1= 0.000716254 \leq 0.005 = \frac {1} {2} \times 10^{-2} = \frac{1} {2} \times 10^{-2 - 1 + 1}=0.000716254≤0.005=21×10−2=21×10−2−1+1 | 111位有效数字 |
0.0190.0190.019 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000283746≤0.0005=12×10−3=12×10−2−2+1= 0.000283746 \leq 0.0005 = \frac {1} {2} \times 10^{-3} = \frac{1} {2} \times 10^{-2 - 2 + 1}=0.000283746≤0.0005=21×10−3=21×10−2−2+1 | 222位有效数字 |
0.01930.01930.0193 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000016254≤0.00005=12×10−4=12×10−2−3+1= 0.000016254 \leq 0.00005 = \frac {1} {2} \times 10^{-4} = \frac{1} {2} \times 10^{-2 - 3 + 1}=0.000016254≤0.00005=21×10−4=21×10−2−3+1 | 333位有效数字 |
0.019280.019280.01928 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000003746≤0.000005=12×10−5=12×10−2−4+1= 0.000003746 \leq 0.000005 = \frac {1} {2} \times 10^{-5} = \frac{1} {2} \times 10^{-2 - 4 + 1}=0.000003746≤0.000005=21×10−5=21×10−2−4+1 | 444位有效数字 |
0.0192840.0192840.019284 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000000254≤0.0000005=12×10−6=12×10−2−5+1= 0.000000254 \leq 0.0000005 = \frac {1} {2} \times 10^{-6} = \frac{1} {2} \times 10^{-2 - 5 + 1}=0.000000254≤0.0000005=21×10−6=21×10−2−5+1 | 555位有效数字 |
\ | \ | \ |
0.0200.0200.020 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000716254≤0.005=12×10−2=12×10−2−1+1= 0.000716254 \leq 0.005 = \frac {1} {2} \times 10^{-2} = \frac{1} {2} \times 10^{-2 - 1 + 1}=0.000716254≤0.005=21×10−2=21×10−2−1+1 | 111位有效数字 |
0.01920.01920.0192 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000083746≤0.0005=12×10−3=12×10−2−2+1= 0.000083746 \leq 0.0005 = \frac {1} {2} \times 10^{-3} = \frac{1} {2} \times 10^{-2 - 2 + 1}=0.000083746≤0.0005=21×10−3=21×10−2−2+1 | 222位有效数字 |
0.019290.019290.01929 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000006254≤0.00005=12×10−4=12×10−2−3+1= 0.000006254 \leq 0.00005 = \frac {1} {2} \times 10^{-4} = \frac{1} {2} \times 10^{-2 - 3 + 1}=0.000006254≤0.00005=21×10−4=21×10−2−3+1 | 333位有效数字 |
0.0192830.0192830.019283 | |e∗e^*e∗| === |x∗−xx^*-xx∗−x| =0.000000746≤0.000005=12×10−5=12×10−2−4+1= 0.000000746 \leq 0.000005 = \frac {1} {2} \times 10^{-5} = \frac{1} {2} \times 10^{-2 - 4 + 1}=0.000000746≤0.000005=21×10−5=21×10−2−4+1 | 444位有效数字 |
观察上面两个例子,我们很容易得出以下结论:
- 小结1:
如果近似数是由“四舍五入”得到的,显然绝对误差限ε∗\varepsilon^*ε∗会是最后单位的半个单位,因此最后一位是有效数位,因此从最后一位一直到其最左边第一个(“最左边第一个”需要从左往右数)非零数字之间的一切数字都是有效数字。
下面来看一道例题。
- 例题1:
下面各数是经过“四舍五入”得到的近似值,室温他们各有即为有效数字?误差限是多少?−3.1433、0.01005、6×103、2×10−3-3.1433、0.01005、6 \times 10^3、2 \times 10^{-3}−3.1433、0.01005、6×103、2×10−3
解:根据小结1中的结论,我们很容易根据近似值x∗x^*x∗,计算出有效位数nnn
根据定义3中的不等式,我们很容易根据近似值x∗x^*x∗,计算出近似值科学计数法的幂指数mmm
计算如下表所示:近似值x∗x^*x∗的科学计数法表示 有效位数nnn 近似值x∗x^*x∗科学计数法幂指数mmm 根据|x−x∗x - x^*x−x∗| ≤12×10m−n+1\leq \frac {1} {2} \times 10^{m - n + 1}≤21×10m−n+1计算(绝对)误差限ε∗\varepsilon^*ε∗ −3.1433=−3.1433×100-3.1433 = -3.1433 \times 10^0−3.1433=−3.1433×100 555 000 12×100−5+1=12×10−4\frac {1} {2} \times 10^{0-5+1} = \frac {1} {2} \times 10^{-4}21×100−5+1=21×10−4 0.01005=1.005×10−20.01005 = 1.005 \times 10^{-2}0.01005=1.005×10−2 444 −2-2−2 12×10−2−4+1=12×10−5\frac {1} {2} \times 10^{-2-4+1} = \frac {1} {2} \times 10^{-5}21×10−2−4+1=21×10−5 6×1036 \times 10^36×103 111 333 12×103−1+1=12×103\frac {1} {2} \times 10^{3-1+1} = \frac {1} {2} \times 10^{3}21×103−1+1=21×103 2×10−32 \times 10^{-3}2×10−3 111 −3-3−3 12×10−3−1+1=12×10−3\frac {1} {2} \times 10^{-3-1+1} = \frac {1} {2} \times 10^{-3}21×10−3−1+1=21×10−3
2、有效数字与相对误差限的关系
有效数字与相对误差限的关系,有下面的定理。
- 定理1:
设近似数x∗x^*x∗表示为x∗=±10m×(a1+a2×10−1+⋯+al×10−(l−1))x^* = \pm 10^m \times (a_1 + a_2 \times 10^{-1} + \cdots + a_l \times 10^{-(l-1)})x∗=±10m×(a1+a2×10−1+⋯+al×10−(l−1)),其中ai(i=1,2,⋯,n)a_i(i = 1, 2, \cdots, n)ai(i=1,2,⋯,n)是0到9中的一个数字,a1≠0a_1 \not= 0a1=0,mmm为整数,- 若x∗x^*x∗具有nnn位有效数字,则其相对误差限εr∗≤12a1×10−(n−1)\varepsilon_r^* \leq \frac {1} {2a_1} \times 10^{-(n-1)}εr∗≤2a11×10−(n−1)
- 反之,若x∗x^*x∗的相对误差限εr∗\varepsilon_r^*εr∗满足εr∗≤12(a1+1)×10−(n−1)\varepsilon_r^* \leq \frac {1} {2(a_1 + 1)} \times 10^{-(n-1)}εr∗≤2(a1+1)1×10−(n−1)则x∗x^*x∗至少具有nnn位有效数字。
定理1实际上说明了:有效位数越多,相对误差限越少。
四、数值计算中的误差估计
1、两个近似值运算的误差限
- 结论1
设两个近似值x1∗x_1^*x1∗与x2∗x_2^*x2∗的误差限分别为ε(x1∗)\varepsilon(x_1^*)ε(x1∗)、ε(x2∗)\varepsilon(x_2^*)ε(x2∗),则将它们加、减、乘、除运算所得到的误差限分别满足以下不等式:- ε(x1∗±x2∗)≤ε(x1∗)+ε(x2∗)\varepsilon(x_1^* \pm x_2^*) \leq \varepsilon(x_1^*) + \varepsilon(x_2^*)ε(x1∗±x2∗)≤ε(x1∗)+ε(x2∗)
- ε(x1∗x2∗)≤∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗)\varepsilon(x_1^* x_2^*) \leq | x_1^* | \varepsilon(x_2^*) + | x_2^* |\varepsilon(x_1^*)ε(x1∗x2∗)≤∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗)
- ε(x1∗x2∗)≤ε(x1∗x2∗)≤∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗)∣x2∗∣2\varepsilon(\frac {x_1^*} {x_2^*}) \leq \frac {\varepsilon(x_1^* x_2^*) \leq | x_1^* | \varepsilon(x_2^*) + | x_2^* |\varepsilon(x_1^*)} {{|x_2^*|}^2}ε(x2∗x1∗)≤∣x2∗∣2ε(x1∗x2∗)≤∣x1∗∣ε(x2∗)+∣x2∗∣ε(x1∗),x2∗≠0x_2^* \not= 0x2∗=0
2、近似值带入一元函数产生的误差
- 结论2
根据泰勒公式,可知:∣f(x)−f(x∗)∣≤∣f′(x∗)∣ε(x∗)+∣f′′(ξ)∣2ε2(x∗)|f(x)-f(x^*)| \leq | f'(x^*) | \varepsilon(x^*) + \frac {| f^{\prime\prime}(\xi) |} {2} \varepsilon^2(x^*)∣f(x)−f(x∗)∣≤∣f′(x∗)∣ε(x∗)+2∣f′′(ξ)∣ε2(x∗)忽略高阶项,可得计算函数的误差限ε(f(x∗))≈∣f′(x∗)∣ε(x∗)\varepsilon \left( f \left( x^* \right) \right) \approx |f'(x^*)| \varepsilon(x^*)ε(f(x∗))≈∣f′(x∗)∣ε(x∗)
3、近似值带入多元函数产生的误差
- 结论3
设A=f(x1,x2,⋯,xn)A = f(x_1, x_2, \cdots, x_n)A=f(x1,x2,⋯,xn),A∗=f(x1∗,x2∗,⋯,xn∗)A^* = f(x_1^*, x_2^*, \cdots, x_n^*)A∗=f(x1∗,x2∗,⋯,xn∗)根据泰勒公式,可知,A∗A^*A∗的相对误差限为εr∗=εr(A∗)=ε(A∗)∣A∗∣≈∑k=1n∣(∂f∂xk)∗∣⋅ε(xk∗)∣A∗∣\varepsilon_r^* = \varepsilon_r(A^*) = \frac {\varepsilon(A^*)} {| A^* |} \approx \sum_{k=1}^n {\left| \left( \frac {\partial f} {\partial x_k} \right)^* \right|} \cdot \frac {\varepsilon \left( x_k^* \right)} {\left|A^* \right|}εr∗=εr(A∗)=∣A∗∣ε(A∗)≈k=1∑n∣∣∣∣(∂xk∂f)∗∣∣∣∣⋅∣A∗∣ε(xk∗)
《数值分析》学习笔记 ·002——误差知识相关推荐
- 数据挖掘学习笔记 5 线性回归知识及预测糖尿病实例
#2018-03-21 16:45:01 March Wednesday the 12 week, the 080 day SZ SSMR http://blog.csdn.net/eastmount ...
- HTML5学习笔记 —— JavaScript基础知识
HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...
- php基础教学笔记,php学习笔记:基础知识
php学习笔记:基础知识 2.每行结尾不允许有多余的空格 3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的 4.方法名只允许由字母组成,下划线是不允许的,首字母要小写,其 ...
- 【学习笔记--FMCW基础知识】
学习笔记--FMCW基础知识 前言 mmWave测距原理 mmWave区分多个物体 mmWave的距离分辨率(Range Solution) mmWave的最大测量距离 前言 由于工作原因需要了解TI ...
- 好记性不如烂笔头-linux学习笔记4apache相关知识
好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...
- OpenCV学习笔记#002 OpenCV相机检校例程运行
OpenCV学习笔记#002 OpenCV相机检校例程运行 OpenCV学习笔记#002 OpenCV相机检校例程运行 所需文件 修改文件 修改in_VID5.xml 修改VID5.xml VS 设置 ...
- SAS学习笔记1——基础知识(库、PDV、变量选择、观测值排序、创建新变量
SAS学习笔记1--基础知识 1.逻辑库.临时库.永久库 2.数据步 2.1数据步语法 2.2 数据步的编译和执行过程 2.3变量的选择 2.3.1 keep和drop语句 2.4变量的重命名rena ...
- JS学习笔记——入门基础知识总结
JS入门基础知识总结1 前言 基础背景知识 一.产生历史: 二.特点: 三.应用方向: 四.Javascript组成: JavaScript书写使用方式 一.行内式(了解即可,项目中不使用,日常练习尽 ...
- react学习笔记1--基础知识
什么是react A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES[React是一个用于构建用户界面的JavaScript库.] React之所以快, ...
最新文章
- html5 settimeout,计时器setTimeout()
- Redhat 7 yum源换成centos的YUM 源
- 验证E-mail是否正确
- Java面向对象(六)接口
- Quartz.net定时任务的使用及获取正在运行的JOB
- Python Pytest装饰器@pytest.mark.parametrize详解
- MySQL Workbench 导入导出乱码解决方法
- 外文文献检索下载网站哪些比较好用
- 阿里云 mysql yum源_安装阿里云yum源
- Linux - Vim常用命令清单
- 2021全国电赛H题回顾
- 概率论温习-基础概念
- baseline的骨骼检测流程记录
- MachO 代码签名剖析
- ppt2016保存.html,PPT做完以后,按了保存就消失不见了,怎么找到原来的PPT?
- 如何利用python解方程_Python 解方程的三种方法
- FLiText: A Faster and Lighter Semi-Supervised Text Classification with Convolution Networks
- Python 随机生成双色球
- redmine配置邮箱提醒步骤(qq企业邮箱和个人邮箱)
- 什么是面向接口编程、面向过程编程、面向对象编程?
热门文章
- css删除li 圆点_CSS中li圆点样式
- java web结束线程_java – 即使在Websphere中停止应用程序后,线程仍会继续运行
- Ajax网络超时和和网络异常
- Linux没有分区会怎样吗,Linux没有扩展分区。()
- 将字符串转为16进制数_Python 如何将字符串转为字典
- geoserver发布瓦片数据_geoserver地图发布服务教程(3)——快速配置矢量样式
- 5在ios上无法选取文件_无法在 Ubuntu 20.04 上安装 Deb 文件?这是你需要做的! | Linux 中国...
- Javaspring 7-13课 Spring Bean
- LaTeX学习笔记(legacy)~
- python matplotlib 给图任意加标注