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 に答える