在代码中使用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。
有人可以解释一下原因吗?
非常感谢
答案 0 :(得分:0)
根据文件,np.mod(x1,x2)=x1-floor(x1/x2)*x2
。这里的问题是你正在使用非常小的值,一个暗域,其中浮点错误(截断...)经常发生,结果通常是不可预测的......
我认为你不应该花很多时间担心这一点。