为啥这段Matlab代码会跳出循环
因为numprec此时已经小于eps(1.0)了。eps(1.0)是MATLAB里从1.0到下一个同样精度的浮点数的相对距离。当numprec小于这个精度当时候,MATLAB就认为while里的不等式不再成立了。
■网友
【为啥这段Matlab代码会跳出循环】 double 的精度是有限的,比如已知 double 的十进制有效数字不超过 20 位,当 numprec 的绝对值足够小的时候(比如小于 10^(-20) 的时候),1+numprec 保留 20 位十进制有效数字就是 1.0。
实际上 double 是二进制,这段代码在寻找 double 的二进制有效数字的个数。
■网友
莫名被邀...
这问题的细节不太懂,但从精度上考虑,觉得 @Gee Law 说的有理
推荐阅读
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 为啥5G和2.4G默认的BSSID是相同的
- 为啥电器实体店的价格比淘宝贵那么多
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看
- 为啥到现在你还没有女朋友 ?
- 天赐的声音|33岁张雨绮为啥总离婚?看过这些照片就明白了,都是性感惹得祸