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

摘要 四个算式"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

相关推荐
24kHT12 小时前
tensorboard——SummaryWriter
python
高洁0112 小时前
数据可视化实战:用AI工具制作专业数据分析图表
人工智能·python·深度学习·信息可视化·transformer
yuweiade12 小时前
【Spring】Spring MVC案例
java·spring·mvc
夏星印12 小时前
argparse解析器参数详解
经验分享·笔记·python·学习·argparse
free-elcmacom13 小时前
C++ 默认参数详解:用法、规则与避坑指南
开发语言·c++
Albert Edison13 小时前
【ProtoBuf 语法详解】Any 类型
服务器·开发语言·c++·protobuf
无忧.芙桃13 小时前
C++11的部分内容(上)
c++
罗超驿13 小时前
Java数据结构_链表
java·数据结构·链表
鬓戈13 小时前
SeaweedFS集群上文件遍历和删除
运维·python
小璐资源网14 小时前
C++中如何正确区分`=`和`==`的使用场景?
java·c++·算法