文章目录

  • 一、误差类型与误差来源
  • 二、绝对误差与相对误差
    • 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∗​≤2a1​1​×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——误差知识相关推荐

  1. 数据挖掘学习笔记 5 线性回归知识及预测糖尿病实例

    #2018-03-21 16:45:01 March Wednesday the 12 week, the 080 day SZ SSMR http://blog.csdn.net/eastmount ...

  2. HTML5学习笔记 —— JavaScript基础知识

    HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...

  3. php基础教学笔记,php学习笔记:基础知识

    php学习笔记:基础知识 2.每行结尾不允许有多余的空格 3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的 4.方法名只允许由字母组成,下划线是不允许的,首字母要小写,其 ...

  4. 【学习笔记--FMCW基础知识】

    学习笔记--FMCW基础知识 前言 mmWave测距原理 mmWave区分多个物体 mmWave的距离分辨率(Range Solution) mmWave的最大测量距离 前言 由于工作原因需要了解TI ...

  5. 好记性不如烂笔头-linux学习笔记4apache相关知识

    好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...

  6. OpenCV学习笔记#002 OpenCV相机检校例程运行

    OpenCV学习笔记#002 OpenCV相机检校例程运行 OpenCV学习笔记#002 OpenCV相机检校例程运行 所需文件 修改文件 修改in_VID5.xml 修改VID5.xml VS 设置 ...

  7. SAS学习笔记1——基础知识(库、PDV、变量选择、观测值排序、创建新变量

    SAS学习笔记1--基础知识 1.逻辑库.临时库.永久库 2.数据步 2.1数据步语法 2.2 数据步的编译和执行过程 2.3变量的选择 2.3.1 keep和drop语句 2.4变量的重命名rena ...

  8. JS学习笔记——入门基础知识总结

    JS入门基础知识总结1 前言 基础背景知识 一.产生历史: 二.特点: 三.应用方向: 四.Javascript组成: JavaScript书写使用方式 一.行内式(了解即可,项目中不使用,日常练习尽 ...

  9. react学习笔记1--基础知识

    什么是react A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES[React是一个用于构建用户界面的JavaScript库.] React之所以快, ...

最新文章

  1. html5 settimeout,计时器setTimeout()
  2. Redhat 7 yum源换成centos的YUM 源
  3. 验证E-mail是否正确
  4. Java面向对象(六)接口
  5. Quartz.net定时任务的使用及获取正在运行的JOB
  6. Python Pytest装饰器@pytest.mark.parametrize详解
  7. MySQL Workbench 导入导出乱码解决方法
  8. 外文文献检索下载网站哪些比较好用
  9. 阿里云 mysql yum源_安装阿里云yum源
  10. Linux - Vim常用命令清单
  11. 2021全国电赛H题回顾
  12. 概率论温习-基础概念
  13. baseline的骨骼检测流程记录
  14. MachO 代码签名剖析
  15. ppt2016保存.html,PPT做完以后,按了保存就消失不见了,怎么找到原来的PPT?
  16. 如何利用python解方程_Python 解方程的三种方法
  17. FLiText: A Faster and Lighter Semi-Supervised Text Classification with Convolution Networks
  18. Python 随机生成双色球
  19. redmine配置邮箱提醒步骤(qq企业邮箱和个人邮箱)
  20. 什么是面向接口编程、面向过程编程、面向对象编程?

热门文章

  1. css删除li 圆点_CSS中li圆点样式
  2. java web结束线程_java – 即使在Websphere中停止应用程序后,线程仍会继续运行
  3. Ajax网络超时和和网络异常
  4. Linux没有分区会怎样吗,Linux没有扩展分区。()
  5. 将字符串转为16进制数_Python 如何将字符串转为字典
  6. geoserver发布瓦片数据_geoserver地图发布服务教程(3)——快速配置矢量样式
  7. 5在ios上无法选取文件_无法在 Ubuntu 20.04 上安装 Deb 文件?这是你需要做的! | Linux 中国...
  8. Javaspring 7-13课 Spring Bean
  9. LaTeX学习笔记(legacy)~
  10. python matplotlib 给图任意加标注