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

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

相关推荐
Ting-yu13 小时前
Spring AI Alibaba零基础速成(2) ---- Ollama安装与使用
java·后端·spring·ai
basketball61613 小时前
并查集基础算法总结 C++ 实现
开发语言·c++·算法
Muyuan199813 小时前
31.Cursor 初体验:用 AI Agent 给 PaperPilot 做一次最小工程重构
人工智能·python·重构·django·fastapi·faiss
砍材农夫13 小时前
物联网 基于netty构建mqtt服务协议支持
java·物联网·struts·netty
凤凰院凶涛QAQ13 小时前
《C++转Java快速入手系列》String篇:在C++里拼字符串像搬砖,在Java里拼字符串像玩乐高 —— 还是带垃圾回收的那种。
java·开发语言·c++
会编程的吕洞宾13 小时前
Spring_Boot_3_3_的___Transactional__
java·后端·spring
雪度娃娃13 小时前
Asio——socket的创建和连接
linux·运维·服务器·c++·网络协议
轻刀快马13 小时前
讲明白Lambda 表达式的进化史
java·开发语言
故事和你9113 小时前
洛谷-【图论2-2】最短路3
开发语言·数据结构·c++·算法·动态规划·图论