数值方法笔记1:数字表示与误差分析

news2024/11/16 23:57:19

  • 1 有意义数位概念与有意义数位损失
    • 1.1 怎么分析误差
  • 2 逼近阶 与渐近记法
  • 3 误差传播与稳定性

1 有意义数位概念与有意义数位损失

整数的二进制表示使用短除法,网上有很多文章,这里就不再过多赘述了。

提一嘴小数的二进制表示。下面列举了一个例子。

在这里插入图片描述
在表示数位的时候,我们使用一个符号sign,一个尾数mantissa,一个指数exponent。

在这里插入图片描述

IEEE-754 double-precision floating-point format给出了数的表示形式。

在这里插入图片描述

注意这种表示方法是非均匀分布的:

在这里插入图片描述
小数在不同的地方可以看到绝对误差是不一样的

在这里插入图片描述

然而我们发现相对误差是一样的,除了 0 ≤ x < x ˉ 0 0\le x<\bar{x}_0 0x<xˉ0这一段区间。相对误差都是 0.5 × 2 − 53 0.5\times 2^{-53} 0.5×253

在这里插入图片描述

  • 最小正值不是0
  • 绝对误差不同
  • 相对误差相同,引入机器精度(和尾数长度有关):
    m a c h i n e e p s i l o n = 2 − 53 ≈ 1 0 − 16 machine epsilon=2^{-53}\approx {10^{-16}} machineepsilon=2531016

所以计算机保存尾数是16位的小数,最大程度低保证了尾数的所有位。

机器数的定义为:尾数的第一个 d 1 = 1 d_1=1 d1=1
在这里插入图片描述
或者写作
在这里插入图片描述

对于计算机来说,尾数的长度m一般是固定的,

  • 单精度实数(32位):m=24, n=8。
  • 双精度实数(64位):m=53,n=11。
  • 但是对于浮点数,二进制小数点的位置一般不是固定的。

在这里插入图片描述

举个例子:

1 10 = 0.0 0011 ‾ two  = 0.0 0011 ‾ 001100110011 … t w o \frac{1}{10}=0.0 \overline{0011}_{\text {two }}=0.0 \underline{0011} 001100110011 \ldots_{t w o} 101=0.00011two =0.00011001100110011two

如果我们规定尾数长度为32位,则 x x x表示为。

x = 0.1100   1100   1100   1100   1100   1100   1100   110 0 t w o × 2 − 3 x=0.1100\,1100\,1100\,1100\,1100\,1100\,1100\,1100_{t w o} \times 2^{-3} x=0.11001100110011001100110011001100two×23

于是误差表示为:

e = ∣ 1 10 − x ∣ = 0. 100 ‾ two  × 2 − 35 ≈ 2.328306437 × 1 0 − 11 e=\left|\frac{1}{10}-x\right|=0 . \overline{100}_{\text {two }} \times 2^{-35} \approx 2.328306437 \times 10^{-11} e= 101x =0.100two ×2352.328306437×1011

对于24位尾数,8位指数的机器数,表示为:
在这里插入图片描述
最小分辨率为 2 − 127 2^{-127} 2127

机器误差举例:

在这里插入图片描述
计算精度: R = 0.0714 R=0.0714 R=0.0714

机器误差: R m = 0.5 × 2 − 4 ≈ 0.0313 R_{m}=0.5 \times 2^{-4} \approx 0.0313 Rm=0.5×240.0313

我们看到 R m < R R_{m}<R Rm<R,这是为什么呢?

1.1 怎么分析误差

x x x是精确数, x ′ x' x是数值计算的近似数。

定义绝对误差为:

E x = ∣ x − x ′ ∣ \mathrm{E}_{x}=|x-x'| Ex=xx

相对误差为:

R x = ∣ x − x ′ ∣ / ∣ x ∣ \mathrm{R}_{x}=|x-x'| /|x| Rx=xx∣/∣x

有意义的数位 d d d定义为:

R x = ∣ x − x ′ ∣ / ∣ x ∣ < 0.5 × 1 0 1 − d \mathrm{R}_{x}=\left|x-x^{\prime}\right| /|x|<0.5 \times 10^{1-d} Rx=xx/∣x<0.5×101d

例如:

在这里插入图片描述

有意义的数位为相对误差定义了一个离散的数字精度等级。它有什么用呢?

好比:

在这里插入图片描述
d=3。于是3.141592近似数3.14的前三位都是有效数字:3.14。

在这里插入图片描述
d=4。于是3.141592近似数3.1429的前四位3是有效数字:3.142。

对有意义数位的直观解释:

在这里插入图片描述

这表明虽然 R x R_x Rx不能反映在数字的表示中,但是可以通过绝对误差 E m E_m Em来反映(注意小数表示的十分位不能是0)。

另外要注意的是有意义的数位是从左往右第一个非零数字开始的:

在这里插入图片描述
根据上面的表达式我们有:

在这里插入图片描述

在最后一个式子中 E a = ∣ a − a ′ ∣ < 0.5 E_{a}=\left|a-a^{\prime}\right|<0.5 Ea=aa<0.5我们看到已经和m没有关系了。

在这里插入图片描述
我们把 R x R_x Rx得到的有意义数位记作 d R x d_{R_x} dRx【相对误差引起】,把 E m E_m Em得到的有意义的数位记作 d E m d_{E_m} dEm【尾数误差引起】。参见下面的例子我们得到: d E m = d R x + 1 d_{E_{m}}=d_{R_{x}}+1 dEm=dRx+1

在这里插入图片描述
看一下不同的尾数保留:

在这里插入图片描述

根据

在这里插入图片描述
我们让 d = d ′ − 1 = d E m − 1 d=d^{\prime}-1=d_{E_m}-1 d=d1=dEm1作为有效数字,于是有:

∣ 0. a 1 a 2 a 3 … a q − 0. a 1 ′ a 2 ′ a 3 ′ … a q ′ ∣ < 0.5 × 1 0 − d ⇔ E = ∣ x − x ′ ∣ < 0.5 × 1 0 m − d ( 注意 x ′ = ± 0 ⋅ a 1 a 2 … a n × 1 0 m , a 1 ! = 0 ) \begin{array}{l} \left|0 . a_{1} a_{2} a_{3} \ldots a_{q}-0 . a_{1}^{\prime} a_{2}^{\prime} a_{3}^{\prime} \ldots a_{q}^{\prime}\right| \quad<0.5 \times 10^{-d} \\ \Leftrightarrow E=\left|x-x^{\prime}\right|<0.5 \times 10^{m-d}\quad(注意x^{\prime}=\pm 0 \cdot a_{1} a_{2} \ldots a_{n} \times 10^{m}, a_{1} !=0) \end{array} 0.a1a2a3aq0.a1a2a3aq <0.5×10dE=xx<0.5×10md(注意x=±0a1a2an×10m,a1!=0)

下面来区分一下有意义数位(significant digit)有效数字(effective digit)

在这里插入图片描述

尽管他们的定义不一样,但是一般他们的数值是相等的(用到了 d = d E m − 1 和 d E m = d R x + 1 d=d_{E_{m}}-1和d_{E_{m}}=d_{R_{x}}+1 d=dEm1dEm=dRx+1推得: d = d R x d=d_{R_{x}} d=dRx)。

在这里插入图片描述

如果我们知道 d d d m m m就可以推知 E E E的范围:

在这里插入图片描述
如果我们知道 E E E m m m就可以知道近似数 x ′ x' x多少位是有用的
在这里插入图片描述

在这里插入图片描述

误差来源:

  1. 数学表达式的误差
    在这里插入图片描述
  2. 舍入和近似误差

在这里插入图片描述
3. 算术误差

在这里插入图片描述

2 逼近阶 与渐近记法

大O记号

在这里插入图片描述
在这里插入图片描述

大Θ的记号

在这里插入图片描述
大Ω记号

在这里插入图片描述

近似阶:

在这里插入图片描述

我们有四则运算法则:

在这里插入图片描述

3 误差传播与稳定性

四则运算的误差传递:
在这里插入图片描述
稳定和不稳定性
在这里插入图片描述
误差的增长,线性和指数

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/355946.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Spark分布式内存计算框架——Spark SQL】12. External DataSource(下)rdbms 数据

6.7 rdbms 数据 回顾在SparkCore中读取MySQL表的数据通过JdbcRDD来读取的&#xff0c;在SparkSQL模块中提供对应接口&#xff0c;提供三种方式读取数据&#xff1a; 方式一&#xff1a;单分区模式 方式二&#xff1a;多分区模式&#xff0c;可以设置列的名称&#xff0c;作为…

实例三:MATLAB APP design-多项式函数拟合

一、APP 界面设计展示 注:在左侧点击数据导入,选择自己的数据表,如果数据导入成功,在右侧的空白框就会显示数据导入成功。在多项式项数右侧框中输入项数,例如2、3、4等,点击计算按钮,右侧坐标框就会显示函数图像,在平均相对误差下面的空白框显示平均相对误差。

buu [NPUCTF2020]Classical Cipher 1

题目描述&#xff1a; 题目分析&#xff1a; 首先输入密码 {gsv_pvb_rh_zgyzhs} 后&#xff0c;得到&#xff1a;可以得知密码是错误的&#xff0c;再看看密码 {gsv_pvb_rh_zgyzhs} &#xff0c;排列无序&#xff0c;那么尝试用凯撒与栅栏解密&#xff0c;发现还是解不出&…

Python基础3

目录 1. 函数多返回值 2. 函数多种传参方式 3. 匿名函数 3.1 函数作为参数传递 3.2 lambda匿名函数 4. 文件的读取操作 4.1 open&#xff08;&#xff09;打开函数 4.2 读操作方法 4.3 文件的写入 4.4 文件的追加 5. 异常的捕获方法 5.1 捕获常规异常 5.2 捕获指定…

Spring Boot + Redis 实现分布式锁

一、业务背景有些业务请求&#xff0c;属于耗时操作&#xff0c;需要加锁&#xff0c;防止后续的并发操作&#xff0c;同时对数据库的数据进行操作&#xff0c;需要避免对之前的业务造成影响。二、分析流程使用 Redis 作为分布式锁&#xff0c;将锁的状态放到 Redis 统一维护&a…

ESP32学习--基于Mircopython-01

目录 第一步-开发环境搭建 第二步&#xff1a;点亮LED灯 第三步&#xff1a;ESP32连接wifi 1. 设置工作模式 第四步&#xff1a;PC机控制ESP32LED灯 课程链接 基础01-ThonnyMicroPythonESP32环境搭建_哔哩哔哩_bilibili 第一步-开发环境搭建 软件安装---固件下载 必须…

流程引擎之Flowable简介

背景Flowable 是一个流行的轻量级的采用 Java 开发的业务流程引擎&#xff0c;通过 Flowable 流程引擎&#xff0c;我们可以部署遵循 BPMN2.0 协议的流程定义&#xff08;一般为XML文件&#xff09;文件&#xff0c;并能创建流程实例&#xff0c;查询和访问流程相关的实例与数据…

基于RK3588的嵌入式linux系统开发(五)——uboot优化修改(按任意按键停止autoboot)

我们通常情况下&#xff0c;芯片进入uboot后&#xff0c;会根据设置的bootdelay时间进行倒数计数。这时候在终端按任意键&#xff0c;即可退出autoboot&#xff0c;进入uboot的命令行模式。 官方提供的uboot源码中&#xff0c;为了防止调试串口干扰导致不能进入系统&#xff0c…

Vue3电商项目实战-分类模块5【12-二级类目-结果区-排序组件、13-二级类目-结果区-数据加载、14-二级类目-结果区-进行筛选】

文章目录12-二级类目-结果区-排序组件13-二级类目-结果区-数据加载14-二级类目-结果区-进行筛选12-二级类目-结果区-排序组件 目的&#xff1a;封装排序组件&#xff0c;完成排序切换效果 大致步骤&#xff1a; 定义一个组件 sub-sort&#xff0c;完成基础布局在 sub.vue 组件…

Java:Linux(CentOS)安装、配置及相关命令

目录一、VMware安装二、CentOS安装1、安装过程2、加载ISO2.1 桌面的设置三、VI/VIM编辑器1、一般模式2、编辑模式3、命令模式4、模式间转换四、网络配置和系统管理操作1、配置子网IP和网关2、配置虚拟机ip地址2.1 ifconfig 查询ip地址2.2 修改IP地址3、配置主机名3.1 hostname …

ChatGPT对于从业人员影响的个人浅见

文章目录前言ChatGPT简介AI简介ChatGPT对从业者的影响参考资料前言 ChatGRT最近很火&#xff0c;网上有一些观点&#xff0c;他会取代很多职业&#xff0c;让产业产生颠覆性的变化。今天聊聊自己的想法&#xff0c;他的出现&#xff0c;是否会让我&#xff08;程序员&#xff…

【opencv 系列】第3章 图像的8种变换

文章目录前言上代码1.1 复习读取和显示1.2 图像放大、缩小 cv2.resize()1.3 图像平移1.4 图像旋转1.5 图像仿射变换1.6 图像的裁剪1.7 位运算(AND, OR, XOR)1.8 图像的分离和融合1.9 颜色空间 color space前言 坦白说&#xff0c;这一章我认为是整个opencv系列最难的一张&…

Linux设备驱动模型与 sysfs实现分析

RTOS和Linux系统上开发驱动的方式非常的不同,在RTOS系统下,驱动和驱动之间并没有实质性的联系,不同的驱动和BSP之间仅仅通过一层很薄很薄的设备管理框架聚合在一起构成RTOS的设备管理子系统。图形化表示如下: 设备驱动&BSP之间互相独立,互不影响,互不依赖,独立实现,…

Damask和abaqus晶体塑性联合仿真培训通知

一 软件介绍 DAMASK 是一个统一的多物理晶体塑性模拟包。连续体力学边值问题的求解需要连接每个材料点的变形和应力的本构响应,该问题在 DAMASK 中基于晶体可塑性使用各种本构模型和均质化方法能够被有效解决。除此之外&#xff0c;孤立地处理力学已不足以研究新兴的先进高强度…

nodejs基于vue微信小程序的水库巡检系统

功能介绍 将系统权限按管理员和用户这两类涉及用户划分。 (a) 管理员&#xff1a;管理员使用本系统涉到的功能主要有&#xff1a;个人中心、用户管理、巡检管理、检查管理、反馈交流、系统管理等功能 (b)用户进入系统前台可以实现首页、我的、巡检、检查、反馈交流、地图等功能…

2019蓝桥杯真题矩阵切割(填空题) C语言/C++

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小明有一些矩形的材料&#xff0c;他要从这些矩形材料中切割出一些正方形。 当他面对一块矩形材料时&#xff0c;他总是从中间切割一刀&#xff0c;切出一块最大的正…

「设计模式」代理模式

「设计模式」代理模式 文章目录「设计模式」代理模式一、概述二、结构三、静态代理四、 JDK动态代理五、CGLIB动态代理六、三种代理的对比优缺点使用场景一、概述 代理模式是一种应用很广泛的结构型设计模式&#xff0c;而且变化很多。在代理模式中引入了一个新的代理对象&…

面试攻略,Java 基础面试 100 问(十一)

抽象类&#xff08;abstract class&#xff09;和接口&#xff08;interface&#xff09;有什么异同? 抽象类和接口都不能够实例化&#xff0c;但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现&#xff…

JavaEE-HTTP协议完结认识HTTPS协议

目录回顾构造HTTP请求(客户端)基于 HTML和JS基于 form表单基于 ajax基于 Java基于socket认识HTTPS加密对称加密非对称加密回顾 让我们回顾一下HTTP协议中的请求和响应 构造HTTP请求(客户端) 基于 HTML和JS 基于 form表单 核心HTML标签&#xff0c;就是form标签 form ( 表单…

RocketMQ5.0.0消息存储<五>_文件过期删除机制

目录 一、概览 二、过期文件删除机制 三、参考资料 一、概览 RocketMQ操作CommitLog、ConsumeQueue文件是基于内存映射机制并在启动时会加载commitlog、consumequeue目录下的所有文件&#xff0c;为了避免内存与磁盘的浪费&#xff0c;不可能将消息永久存储Broker服务器上&a…