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

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

相关推荐
咸蛋超超人几秒前
下订单重复提交问题递进式解决方案案例
java·后端
lang201509285 分钟前
20 Byte Buddy 深度解析:零依赖架构与高级参数注入艺术
java
jghhh018 分钟前
基于ELM极限学习机的风速预测MATLAB实现
深度学习·机器学习·matlab
Memory_荒年9 分钟前
Java内存模型(JMM):别让你的代码在“马”路上翻车!
java·后端
Memory_荒年11 分钟前
虚拟线程:让Java轻功水上漂,告别“线程体重焦虑”
java·后端
泡沫_cqy17 分钟前
Java初学者文档
java·开发语言
是晴天呀。27 分钟前
火山引擎接入项目
java·火山引擎
王老师青少年编程30 分钟前
2025年3月GESP真题及题解(C++七级): 选择题和判断题(题解)
c++·真题·gesp·答案·csp·信奥赛·七级
sycmancia1 小时前
C++——多态
开发语言·c++