当前位置: 首页 > news >正文

计算机的错误计算(一百二十九)

摘要  用错数解释计算机的错误计算(一百二十七)中的计算错误的原因。

       从(一百二十七)知,f(x) 有四种形式:

四个 f(0.00024) 分别有1位、8位、8位、0位错误数字。

       下面用错数解释前面3个错误计算的由来。

(1)对于 {f(x)=\sin^2(\frac{1}{2}x)} 来说,m_1=-3\,,  m_2=-7\,.  而  f'(x)|_{x=0.00024}=(\sin(\frac{1}{2}x)\cos(\frac{1}{2}x))|_{x=0.00024}=0.1...\textup{e}-3\,,  因此,m_0=-3\,.  这样,错数为 m_1-m_2+m_0=-3-(-7)+(-3)=1\,.  于是,计算机的输出中可能有1位错误数字,也可能没有。事实是有1位。

(2)对于  \frac{1}{2}\big{(}1-\cos(x)\big{)} 与 \frac{1}{2}\big{(}1-\sqrt{1-\sin^2(x)} \,\big{)} 来说,由于其中的 1-\cos(x) 与 1-\sqrt{1-\sin^2(x)} 会发生相减相消,并且这时,x 的表示误差对结果的影响程度要远小于相减相消对结果的影响程度,所以我们只考虑相减相消所引起的误差。

        令 y=1-\cos(x)\,,  g(y)=\frac{1}{2}y\,.  现在讨论 g(y) 的错数。由于  (1-\cos(x))|_{x=0.00024}=0.28...\textup{\textup{}e}-7\,,  因此,m_1=-7\,.  而 m_2 仍然不变,亦为 -7\,.  再由 g'(y)=0.5 知,m_0=0\,.  于是,g(y) 的错数为 m_1-m_2+m_0=-7-(-7)+0=0\,.  这样,若 y 有误差,那么执行 g(y) 运算后,结果也不会额外产生错误数字(甚至可能减少1位错误数字)。 也就是说,y 原来有几位错误数字,那么50%的概率 g(y) 还有几位错误数字。

       那么 y=1-\cos(0.00024) 的输出有几位错误数字呢?相减相消“相消”了几位数字?被减数原来是1,1位整数;现在的结果变成 “-7” 位整数。那么自然少了 1-(-7)=8 位数字。这样,g(y) 50%的概率也有 8位错误数字,而另外50%的可能性是含有7位错误数字。事实上,最终结果是含有8位错误数字。

        点评:像 \sin^2(\frac{1}{2}x) 这么简单的函数,居然产生了错误数字;其最后1位数字不正确,居然有着50%的概率。

参考文献

[1] Ward Cheney, David Kincaid. Numerical Mathematics and Computing. 6th Ed. CA: Thomson Higher Education, 2008, p, 37

http://www.lryc.cn/news/464826.html

相关文章:

  • process.platform 作用
  • Java项目-基于springboot框架的企业客户信息反馈系统项目实战(附源码+文档)
  • 《深度学习》dlib 人脸应用实例 仿射变换 换脸术
  • springboot044美容院管理系统(论文+源码)_kaic
  • 大数据新视界 --大数据大厂之数据脱敏技术在大数据中的应用与挑战
  • Erric Gamma 关于resuable code的采访
  • 【Ubuntu18.04命令行code打不开】可能的解决方法
  • 大数据毕业设计基于springboot+Hadoop实现的豆瓣电子图书推荐系统
  • 【进阶OpenCV】 (15)-- 人脸识别 -- EigenFaces算法
  • 无人机封闭空间建图检测系统技术详解
  • webpack自定义插件 ChangeScriptSrcPlugin
  • win11 笔记本指纹驱动正常就是使用不了
  • 表的约束
  • jmeter是怎么用的,怎么设计接口测试用例的
  • 数据挖掘示例
  • 【PHP】在ThinkPHP6中Swoole与FPM的简单性能测试对比
  • 论文写作学习--POLYGCL
  • 【高等数学】无穷级数
  • 计算机网络——无连接传输UDP
  • DS几大常见排序讲解和实现(下)(15)
  • 电脑视频剪辑大比拼,谁更胜一筹?
  • 计算机毕业设计 基于Web的景区管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • 计算生物学与生物信息学漫谈-2-测序深度/读长质量和Fasta处理
  • 基于SSM+微信小程序的电子点餐管理系统(点餐1)
  • IO进程---day5
  • ROS理论与实践学习笔记——5 ROS机器人系统仿真之URDF(Unified Robot Description Format)语法详解
  • 常见SQL注入攻击示例与原理及其防御措施
  • Node.js 中的 WebSocket 底层实现
  • MySQl数据库的基本操作
  • Egg.js 项目的合理 ESLint 配置文件模板