计算机的错误计算(一百六十三)

摘要 四个算式"sin(0.00024/2)^2"、"(1-cos(0.00024))/2"、"(1-sqrt(1-sin(0.00024)^2))/2"以及"sin(0.00024)^2/(2+2*sqrt(1-sin(0.00024)^2))"是等价的。但是,在 MATLAB 中计算它们,输出不完全一致:中间两个算式的输出中含有错误数字。

例1. 已知

用上述四个算式依次计算

直接贴图吧 :

事实上,16位的正确结果为 0.1439999993088000e-7(ISRealsoft 提供)。

容易看出,MATLAB的中间两个输出中,与红色数字对应的有效数字是错误数字。这样,中间两个运算的输出中均有7位错误数字;有效数字的错误率均为 7/16 = 43.75% .

注:可参考计算机的错误计算(一百二十七)。出错原因可参看(一百二十九)

参考文献

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

相关推荐
Zaly.15 小时前
【Python刷题】LeetCode 3567 子矩阵的最小绝对差
python·leetcode·矩阵
2501_9454235415 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
2301_8073671915 小时前
C++代码风格检查工具
开发语言·c++·算法
Morwit15 小时前
*【力扣hot100】 215. 数组中的第K个最大元素
数据结构·c++·算法·leetcode·职场和发展
吃杠碰小鸡15 小时前
Python+Ai学习流程
人工智能·python·学习
飞Link15 小时前
具身智能音频处理核心框架 PyAudio 深度拆解与实战
开发语言·python·音视频
嫂子的姐夫15 小时前
043-spiderbuf第C3题
爬虫·python·js逆向·逆向
博语小屋15 小时前
多路转接select、poll
开发语言·网络·c++·php
m0_7301151115 小时前
C++中的命令模式实战
开发语言·c++·算法
Nyarlathotep011315 小时前
线程创建和Thread类
java