Numpy / Scipy模数函数

时间:2012-08-27 22:31:07

标签: python numpy scipy

在代码中使用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。

有人可以解释一下原因吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

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