数值分析中有效数字的定义理解及计算
一、有效数字的定义
要定义有效数字,我们需要首先给出下面几个定义,其实都是很简单能理解的东西,但是用数学公式表达一下就有点绕。
误差:
若x∗x^{\ast }x∗是准确值xxx的一个近似值,则称e∗=x∗−xe^{\ast }=x^{\ast }-xe∗=x∗−x为x∗x^{\ast }x∗的误差。
这个就是近似值减去实际值,而且误差肯定是针对近似值来说的,所以是称e∗e^{\ast }e∗为x∗x^{\ast }x∗的误差
误差限:
若∣e∗∣≤ε∗\left| e^{\ast }\right| \leq \varepsilon ^{\ast }∣e∗∣≤ε∗,则称ε∗\varepsilon ^{\ast }ε∗为x∗x^{\ast }x∗的误差限
上面说的误差和误差限都是绝对误差限,都是有量纲的,比如说100米的绳子,近似长度是99米,误差是1米。又比如3米的绳子,近似长度是2米,误差也是1米。误差相同,但是对于近似来说,显然前面一个例子近似程度更加好,所以又提出了相对误差的概念,其实就是用绝对误差再除以准确值。我们一般说的误差都是绝对误差,说相对误差时一定要用相对误差四个字,不然就混淆了。。。。
相对误差:
我们把近似值的误差e∗e^{\ast }e∗与准确值xxx的比值 e∗x=x∗−xx\dfrac {e^{\ast }}{x}=\dfrac {x^{\ast }-x}{x} xe∗=xx∗−x 称为近似值x∗x^{\ast }x∗的相对误差,记作er∗e^{\ast }_{r}er∗
但是有个问题,实际计算时准确值你是不知道的(要不然也就不用求近似了),所以通常就取其近似值进行计算:
er∗=e∗x∗=x∗−xx∗e^{\ast }_{r}=\dfrac {e^{\ast }}{x^{\ast }}=\dfrac {x^{\ast }-x}{x^{\ast }} er∗=x∗e∗=x∗x∗−x
但是条件是er∗e^{\ast }_{r}er∗较小。
相对误差限:
相对误差可正可负,它的绝对值的上界称为相对误差限,记作: εr∗=ε∗∣x∗∣\varepsilon ^{\ast }_{r}=\dfrac {\varepsilon ^{\ast }}{\left| x^{\ast }\right| } εr∗=∣x∗∣ε∗
误差就定义到这里了,其实很简单,绝对误差就是近似值减准确值,误差限就是绝对误差的绝对值能达到的上限,就是最多能差多少。相对误差就是绝对误差除以了准确值,但准确值我们一般又不知道,所以直接就除以了估计的近似值。相对误差限就是绝对误差限除以了近似值的绝对值。
再说有效数字的定义。我们在小学就学过有效数字,到了学数值分析的时候,却被一个定义绕得你头晕晕的,但是,数学就是这样,为了达到一些准确性,往往用很复杂的公式来表示一个简单的意思。下面我们看一下有效数字的定义和理解:
二、有效数字定义的理解
先来想想有效数字是用来干什么的,在人们测量的过程中,用来测量的工具、以及测量时读数都会产生误差,也就是高中学过的系统误差和偶然误差,比如的你的尺子本来就是坏的,测出来的值离真实值肯定就有误差呀,这个误差是有规律性的,比如测2米的物体,你的尺子读数比真实值多10cm,测4米的物体,你的尺子读数就多20cm。还有就是偶然误差,你有一把非常精准的尺子,刻度非常精准地贴合物体,但是不同的人来测,来度量的时候,每个人读出来的都不一样,或者测量时的动作不一样,导致出现了误差,就是偶然误差。
但是我们在测量得出结果的时候,总是想要知道在测量结果哪个程度上是准确无误的。但这并不意味着有效数字是从左到右有多少位数字是与真实值相同的数字。
有效数字存在通俗定义和数值分析定义两种:
通俗定义:假设x∗x^*x∗是xxx的近似值,如果从第一个非零数字开始的第nnn位对x∗x^*x∗和xxx进行四舍五入后,x∗x^*x∗和xxx完全一致,那么称x∗x^*x∗有nnn位有效数字。
通俗定义与我们中小学学习的有效数字的概念是一致的,然而这一有效数字的概念却并不能有效地用于数值计算过程中近似解与准确解的分析,后面会举例分析。
现在再来看数值分析的定义:
还是假设xxx是准确值,x∗x^*x∗是近似值。x=±0.a1a2…an…×10mx = \pm0.a_1a_2\ldots a_n\ldots\times10^mx=±0.a1a2…an…×10m,其中mmm是整数,a1a_1a1到ana_nan都是0到9中的某个数字,且a1≠0a_1\neq0a1=0。如果有∣x−x∗∣≤0.5×10−k|x-x^*| \le 0.5 \times 10^{-k}∣x−x∗∣≤0.5×10−k,即x∗x^*x∗的误差不超过10−k10^{-k}10−k的半个单位,则称近似数x∗x^*x∗准确到10−k10^{-k}10−k位,并说x∗x^*x∗有m+km+km+k位有效数字。
–《数值分析及其MATLAB实验》第二版,姜健飞等,P3
如果误差限是某一位上的半个单位,那么也就意味着你的测量读数和真实值的读数的差异最多不超过那一位的1/2。
例子:
毫米刻度的尺子测量一根木棍,测量读数是876mm,误差限是0.5mm,有效数字就是3位有效数字。
仔细想一想,误差限是0.5mm,如果真实值是872.4mm,那么读数可能会是873mm吗?不可能,因为误差是0.6mm,超过误差限了,读数应该在871.9和872.9之间。
那么通俗定义和数值定义有什么区别呢?
拿圆周率来举例,π=3.1415926...\pi=3.1415926...π=3.1415926...
近似值x1=3.142x_1=3.142x1=3.142
近似值x2=3.1414x_2=3.1414x2=3.1414
按照通俗定义,x1x_1x1有4位有效数字,近似值和准确值同时四舍五入到3.142时相等,x2x_2x2只有3位有效数字,近似值和准确值四舍五入到3.14时相等。
而按照数值分析的定义,∣π−x1∣≤0.5×10−3|\pi-x_1|\le0.5\times10^{-3}∣π−x1∣≤0.5×10−3,有4位有效数字,∣π−x4∣≤0.5×10−3|\pi-x_4|\le0.5\times10^{-3}∣π−x4∣≤0.5×10−3也有4位有效数字。(注意计算时要算上其整数位数)。
然而x2x_2x2明显比x1x_1x1离真实值更近,是更好的近似值,因此通俗定义是不合理的,不利于进行准确的分析。
三、该如何计算
要计算有效数字:
或者要知道误差限,
或者要知道误差(知道了误差就可以求误差限),然后按照定义计算就行了。
圆周率近似值3.1415926的有效数字
真实值3.14159265358979…
误差为0.00000005358979…<0.5×10^(-6)
有效数字为7
数值分析中有效数字的定义理解及计算相关推荐
- cnn中关于FLOPS的理解及计算
相关概念 FLOPS:注意全大写,是floating point operations per second的缩写,指每秒浮点运算次数,理解为计算速度.是一个衡量硬件性能的指标. FLOPs:注意s小 ...
- DNA序列编码中Hairpin的定义和计算
DNA序列编码中Hairpin的定义和计算 觉得有用的话,欢迎一起讨论相互学习~ 参考文献 [1] 张凯. DNA计算核酸编码优化及算法设计[D]. 2008. [2] Shin, Soo Yong ...
- 建立student类,在此类中所有数据定义为私有数据变量。并建立一个student对象数组,用附件中的数据进行初始化。计算每个学生三门课程的总分和平均成绩(C++实验)
一.实验目的: (1)掌握类的创建,成员数据和成员函数的构建. (2)掌握构造函数的重载. (3)掌握静态成员函数和静态成员函数的使用. 二.实验内容和要求: (1)按照附件"成绩表.txt ...
- 【数值分析学习笔记】——1、数值分析中的误差
1.1截断误差与舍入误差 误差 类型 固有误差 模型误差 测量误差 计算误差 截断误差 舍入误差 数值分析中主要讨论的是计算误差,包括截断误差与舍入误差. (1)舍入误差:由于数字计算机不能准确地表示 ...
- ArcGIS中的坐标系定义与转换 (转载)
原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念: GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...
- 二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...
日常中我们见到的二叉树应用有,Java集合中的TreeSet和TreeMap,C++ STL中的set.map,以及Linux虚拟内存的管理,以及B-Tree,B+-Tree在文件系统,都是通过红黑树 ...
- springboot中接口实例化_AngularJs中控制器的定义,实例化,作用域范围
AngularJs中控制器的定义,实例化,作用域范围 基于AngularJS入门与进阶(江荣波 著)这本书的笔记 AngularJS 1.x的demo AngularJS1.x和Angular2,4, ...
- React中diff算法的理解
React中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DO ...
- Vue中diff算法的理解
Vue中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DOM结 ...
最新文章
- C:内存中供用户使用的存储空间
- 菜鸟级三层框架(EF+MVC)项目实战之 系列一 EF零基础创建领域模型
- Android SDK在线更新镜像服务器
- 25道Spring框架面试题
- 大数据WEB阶段(十八)数据库事务
- Protobuf 判断某个值是否在一个枚举值中
- Spring Cloud Alibaba Seata处理分布式事务及案例实战
- 一年级下册计算机教学计划,最新人教版一年级下册教学计划
- 每天都使用微信语音,但你必须晓得互联网语音协议(VoIP)
- GitQ 导读: 为什么 GitHub ?
- java实现双色球生成器
- 计算机学报是期刊论文吗,《计算机学报》北大核心电子期刊发表技巧
- 前端播放大视频卡顿的解决(m3u8视频流)
- 淘宝刷单被降权订单会取消吗?
- jq分页 不刷新页面_jquery实现无刷新分页,跳转
- [高通MSM8953_64][Android10]默认关闭蓝牙以及开启蓝牙状态栏不显示图标
- git 常用简化软件开发和发布流程(二)
- 在职场中,千万不要当这两种下属,学会汇报,让领导刮目相看!
- Feathers UI 性能优化
- Python+Vue计算机毕业设计建筑工地信息管理系统2172n(源码+程序+LW+部署)