计算机的错误计算(二十七)

摘要  介绍错数:任给一个单变元函数,当自变量被截断时,函数值中含有的错误的有效数字个数,并给出其计算方法。

       首先,从字面上看,错数表示错误的有效数字个数。

       下面从一个略显粗糙的化简过程,推出错数的计算方法。

       众所周知,导数是函数的变化量与自变量的变化量的比值的极限:

f^{\prime}(x_0)=\lim\limits_{\Delta x\to0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x} .

如果 \Delta x 比较小,那么函数值的变化量约等于导数与自变量的变化量的乘积:

f(x_0+\Delta x)-f(x_0)\approx f^{\prime}(x_0)\Delta x\,. \quad\quad (1)

       不妨用科学记数法表示它们(这里稍作修改:小数点前为0, t_i 、 s_i 及 d_i 均为 0\sim9 的数字,并且  t_1 、 s_1 及 d_1 均不为0):

 \,\,\,\,\,\,\,\,x_0= 0.t_1t_2t_3...\times10^{m_1},\\ \,\,\,\,\,\,\,\,\,f(x_0)=0.s_1s_2s_3...\times10^{m_2},\\ f^{\prime}(x_0)=0.d_1d_2d_3...\times10^{m}.

       假设自变量与函数值均保留 n位有效数字,并且自变量与函数值中分别有 k 位与 j 位错误数字。这时,有

|\Delta x|\\ \approx |0.t_1t_2t_3...t_{n-k}t _{n-k+1}...t_{n}\times10^{m_1}\\- 0.t_1t_2t_3...t_{n-k}\underbrace{t'_{n-k+1}...t'_{n}}_{k \textup{ incorrect digits}}\times10^{m_1}|\\\approx|0.\underbrace{000...0}_{n-k\textup{\textup{} zeros}}t''...\times10^{m_1}|\\=|0.t''...\times10^{m_1-n+k}|.

其中 t_{n-k+1}\neq t'_{n-k+1}t''\neq 0.  上式意味着 \Delta x 有 m_1-n+k 位整数。

同理可得,f(x_0+\Delta x)-f(x_0) 有 m_2-n+j 位整数。另外,f^{\prime}(x_0) 有 m 位整数。因此,由 (1) 可得

(m_2-n+j)\approx m+ (m_1-n+k)

j-k\approx m+m_1-m_2.

上式表示,函数值的错误数字个数比自变量的错误数字个数多 m+m_1-m_2 位。

       若自变量被截断了,只有 n位正确数字。这时,k=0. 那么,函数值中含有 

j\approx 0+(m+m_1-m_2)=m+m_1-m_2

位错误数字。

       以上就是错数的计算方法。

       还记得计算机的错误计算(七)中内容吗:“对于exp(x) 函数来说,若 x 有表示误差,并有 k 位整数,则计算机有时会产生约 k 位错误数字”(注:这里的 k 不是 上面的 k)。

       设 x=65*\ln(20)\approx 0.1947225977810094 \,e\, 3.  则 x有 3位整数,即 m_1=3.  而对于函数 exp(x) 来说,其导数也为 exp(x)。因此在很小的邻域内,m=m_2.  所以,错数为 m+m_1-m_2=m_1. 

       这就是为什么 exp(x) 的错数为 x 的整数位数的原因。这也就是软件关于 exp(x) 的输出总是有 几位数字出错的原因。

       最后,利用错数的计算公式,您不妨分析一下其它函数? 

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

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

相关文章

网络安全防御【防火墙安全策略用户认证综合实验】

目录 一、实验拓扑图 二、实验要求 三、实验思路 四、实验步骤 1、打开ensp防火墙的web服务(带内管理的工作模式) 2、在FW1的web网页中网络相关配置 3、交换机LSW6(总公司)的相关配置: 4、路由器相关接口配置&a…

java入门-告别C进入java世界

目标 java体系 java开发环境 helloworld java语法 java体系 java开发环境 安装JDK JDK: Java Developement Kit 配置jdk 为什么需要配置 操作系统找不到此程序 操作系统PATH PATH C:\Users\49354>echo %PATH% C:\Program Files (x86)\VMware\VMware Works…

windows信息收集和提权

目录 手动收集 工具收集 windows本地内核提权 本地提权 根据windows去找需要的exp进行利用 提权后结合mimikatz使用 msf提权 简单提权 生成后门 上线 BypassUAC绕过UAC提权 msf带的bypassuac模块可以尝试提权 Bypassuac提权命令操作 提权成功 ​local_exploi…

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)

pip安装python库时报错问题解决 报错:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841) 解决: pip --trusted-host pypi.python.org install -r packagename(包名)

特斯拉的人形机器人最新展示,穿戴遥操作示教的机器人学习!

在机器人领域,特斯拉的人形机器人一直备受关注。2021 年,在「特斯拉 AI 日」上,马斯克发布了特斯拉的通用机器人计划,并用图片展示了人形机器人 Tesla Bot 的大致形态。但当时的 Tesla Bot 只是个概念,动作展示部分是由…

VSCode升级后不能打开在MacOS系统上

VSCode 在MacOS无法打开 版本 VSCode version: 1.91.0 (x64) 错误信息: MacBook-Pro ~ % /Users/mac/Downloads/FirefoxDownloads/Visual\ Studio\ Code.app/Contents/MacOS/Electron ; exit; [0710/142747.971951:ERROR:crash_report_database_mac.mm(753)] op…

西安明德理工学院师生莅临泰迪智能科技开展参观见习活动

为进一步深化校企合作,落实高校应用型人才培养。7月8日,西安明德理工学院与广东泰迪智能科技股份有限公司联合开展学生企业见习活动。西安明德理工学院金融产业学院副院长刘敏、金融学专业负责人张莉萍、金融学专业教师曹艳飞、赵浚妤、泰迪智能科技董事…

TCP中的2MSL详解

TCP中的2MSL时间 2MSL(Maximum Segment Lifetime)时间是TCP协议中一个非常重要的参数。MSL是一个TCP段在网络中可以存活的最长时间,2MSL就是两倍的这个时间。在TCP连接终止时,连接的两个端点需要等待2MSL时间,以确保所…

CinemachineBrain的属性简介

CinemachineBrain的属性简介 CinemachineBrain是Unity Cinemachine的核心组件,它和Camera组件挂载在一起,监控场景中所有的virtual camera。CinemachineBrain在inspector中暴露的属性如下: Live Camera和Live Blend分别表示当前active的virtu…

python-26-零基础自学python-如何创建文件、读取数据、处理多个文件及程序异常处理等

学习内容:《python编程:从入门到实践》第二版第10章 知识点: 程序异常如何处理?try-except-else 多个文件处理 创建文件:在文件中储存数据 练习内容: 练习10-8:猫和狗 创建文件cats.txt和…

YOLOv10改进 | Conv篇 | CVPR2024最新DynamicConv替换下采样(解决低FLOPs陷阱)

一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制,这个论文中介绍了一个名为ParameterNet的新型设计原则,它旨在在大规模视觉预训练模型中增加参数数量,同时尽量不增加浮点运算&#x…

PyTorch复现PointNet——模型训练+可视化测试显示

因为项目涉及到3D点云项目,故学习下PointNet这个用来处理点云的神经网络 论文的话,大致都看了下,网络结构有了一定的了解,本博文主要为了下载调试PointNet网络源码,训练和测试调通而已。 我是在Anaconda下创建一个新的…

Python——使用Seaborn钻石数据可视化分析(1)

目录 🧾 1、数据集(部分数据) ✏️ 2、导入数据集与必要模块 1️⃣ 导入数据 📍 通过info函数查看所有列数据的类型信息 2️⃣ 导入Seaborn工具包 📍 set_context 设置图形绘制时的上下文参数 📍 set_style 设置绘图风格 📍 set_palette 设置图标全局颜色…

CentOS 设置手动同步指定NTP时钟服务器

1. 文件上传至服务器 2.进入文件路径 3.查看文件名称 4.安装rpm包 注意执行顺序 1,3,2 5.启动ntp并设置开机自启 6.配置ntp配置文件 修改为时间服务器ip(同时要删除或注释掉其他三个server开头的外网的配置,防止因为外网不通导致…

C++基础学习笔记

1.命名空间(namespace) 1.什么是命名空间&命名空间的作用 1.在C/C中,变量、函数、类都是大量存在的,这些变量等的名称将都存在于全局作用域中,就会导致很多的命名冲突等。使用命名空间的目的就是对标识符的名称进行本地化,以…

自动驾驶革命:商汤科技突破性大模型UniAD震撼登场

自动驾驶革命:商汤科技突破性大模型UniAD震撼登场! 在人工智能的浪潮中,自动驾驶技术一直是科技巨头们竞相追逐的圣杯。而今,商汤科技联合上海人工智能实验室与武汉大学,以一篇名为"Planning-oriented Autonomou…

AI in Finance 金融领域AI应用-基于DeepNLP AI App Store 真实用户评论打分和排名

AI在金融领域应用 AI in Finance 金融服务领域的AI应用和传统的金融智能应用不同。传统金融智能应用包括如风险评估 (Risk assessment), 风险管理(Risk management), 欺诈检测 (Fraud Detection)等等。 通用AI大模型和人工智能应用如ChatGPT&#xff0c…

p12初步认识c语言

1.初识c语言 什么是c语言 c语言是一门计算机语言 计算机语言是什么 人和计算机交流语言 c/c/JAVA/python 语言发展: 二进制语言 硬件-电-正电/负电 1010001010101010101010101010手册 科学家 1010100010-ADD -助记符-汇编语言 B语言 C语言 C、---高级…

大白话讲解AI大模型

大白话讲解大模型 大模型的发展重要大模型发展时间线 大模型的简单原理-训练⼤模型是如何训练并应⽤到场景中的?如果训练私有化模型 模型:model 语料库:用于训练模型的数据 大模型的发展 详细信息来源:DataLearner 2022年11月底…

关于 RK3588刷镜像升级镜像”没有发现设备“ 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140287339 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…