0

Numpy 的“模数”函数在代码中用于检查某个时间是否是时间步长的整数倍。

但是看到了一些奇怪的行为。

  • numpy.mod(121e-12,1e-12)返回 1e-12
  • numpy.mod(60e-12,1e-12)返回“一个非常小的值”(与 1e-12 相比)。

如果你玩numpy.mode('122-126'e-12,1e-12)它会随机给出 0 和 1e-12。

有人可以解释为什么吗?

非常感谢

4

1 回答 1

0

根据文档,np.mod(x1,x2)=x1-floor(x1/x2)*x2. 这里的问题是您正在使用非常小的值,一个黑暗的域,浮点错误(截断......)经常发生并且结果通常是不可预测的......我认为你不应该花很多时间担心关于那个。

于 2012-08-27T22:46:27.390 回答