python – 计算最接近的数字numpy
发布时间:2020-12-20 12:11:53 所属栏目:Python 来源:网络整理
导读:我正在尝试将最接近的数字计算为0,但到目前为止无法得到我想要的数字. 我有一个非常简单的代码; y = 0.0x = 0.1while (y + x y): x = x/2.0x*2 但我一直得到0.0作为输出.我怎样才能解决这个问题 解决方法 我想你想继续分割,直到x变得如此之小,它变为零(浮点
我正在尝试将最接近的数字计算为0,但到目前为止无法得到我想要的数字.
我有一个非常简单的代码; y = 0.0 x = 0.1 while (y + x > y): x = x/2.0 x*2 但我一直得到0.0作为输出.我怎样才能解决这个问题 解决方法
我想你想继续分割,直到x变得如此之小,它变为零(浮点格式).在循环的最后一次迭代中,x最终变为零,循环条件变为false:
0.0(y)0.0(x)> 0.0(Y).在最后一行,您尝试通过乘以2来检索x值.但是x已经为零,因此结果也为零.数学上是完全有意义的,但浮点值在那时已经为零. 为了保持最新的非零值,请使用第二个变量: y = 0.0 x = 0.1 smallest_x = x while (y + x > y): smallest_x = x x = x/2.0 x*2 或者,您可以事先检查在再次分割之后x是否为零: y = 0.0 x = 0.1 while (y + x/2.0 > y): //checking if the next division makes x to zero x = x/2.0 x*2 或采取不同的方法来获得最小的x: x = 1.0 while (x/2.0 != 0): x = x/2.0 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |