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

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

相关推荐
工口发动机9 分钟前
ABC440DEF简要题解
c++·算法
带土115 分钟前
4. C++ static关键字
开发语言·c++
橘颂TA16 分钟前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
毕设源码-郭学长16 分钟前
【开题答辩全过程】以 基于SSM的高校运动会管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
qq_54702617918 分钟前
Maven 使用指南
java·maven
C++ 老炮儿的技术栈22 分钟前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
xiaolyuh12326 分钟前
Arthas修改类(如加日志)的实现原理
java
栗子叶30 分钟前
Java对象创建的过程
java·开发语言·jvm
GIS之路34 分钟前
GDAL 实现矢量裁剪
前端·python·信息可视化
有一个好名字40 分钟前
力扣-从字符串中移除星号
java·算法·leetcode