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

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

相关推荐
李日灐17 小时前
【优选算法1】双指针经典算法题
数据结构·c++·后端·算法·刷题·双指针
故事和你9117 小时前
sdut-程序设计基础Ⅰ-期末测试(重现)
大数据·开发语言·数据结构·c++·算法·蓝桥杯·图论
Ralph_Y17 小时前
C++ 常量的定义方式与内存存储位置全解析
c++
Heo17 小时前
这才称得上是提示词工程!
java·架构·代码规范
重庆兔巴哥17 小时前
如何在Dev-C++中使用MinGW-w64编译器?
linux·开发语言·c++
ysa05103017 小时前
贪心【逆向dp】
数据结构·c++·笔记·算法
魔道不误砍柴功17 小时前
Java Function 高级使用技巧:从工程实战中来
java·开发语言·python
不知名。。。。。。。。17 小时前
仿muduo库实现高并发服务器----EventLoop与线程整合起来
java·开发语言·jvm
编程大师哥17 小时前
JAVA 集合框架进阶
java·开发语言
TechFind17 小时前
AI Agent 开发完整教程:从零到上线的实战指南
java·javascript