Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Numpy 的“模数”函数在代码中用于检查某个时间是否是时间步长的整数倍。
但是看到了一些奇怪的行为。
numpy.mod(121e-12,1e-12)
numpy.mod(60e-12,1e-12)
如果你玩numpy.mode('122-126'e-12,1e-12)它会随机给出 0 和 1e-12。
numpy.mode('122-126'e-12,1e-12)
有人可以解释为什么吗?
非常感谢
根据文档,np.mod(x1,x2)=x1-floor(x1/x2)*x2. 这里的问题是您正在使用非常小的值,一个黑暗的域,浮点错误(截断......)经常发生并且结果通常是不可预测的......我认为你不应该花很多时间担心关于那个。
np.mod(x1,x2)=x1-floor(x1/x2)*x2