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

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

相关推荐
倔强的小石头_几秒前
Python 从入门到实战(八):类(面向对象的 “对象模板”)
服务器·开发语言·python
南极企鹅1 分钟前
Gson转义特殊字符
java
Mr_Xuhhh17 分钟前
第一部分:类和对象(中)— 取地址运算符重载
java·开发语言
Selegant20 分钟前
告别传统部署:用 GraalVM Native Image 构建秒级启动的 Java 微服务
java·开发语言·微服务·云原生·架构
__万波__25 分钟前
二十三种设计模式(十三)--模板方法模式
java·设计模式·模板方法模式
动亦定25 分钟前
微服务中如何保证数据一致性?
java·数据库·微服务·架构
qq_3106585129 分钟前
mediasoup源码走读(十二)——router
服务器·c++·音视频
王桑.31 分钟前
Spring中IoC的底层原理
java·后端·spring
qq_2147826133 分钟前
GWalkR,部分替代Tableau!
ide·python·jupyter