【发布时间】:2014-11-28 13:58:39
【问题描述】:
我正在尝试使用以下形式的 python / numpy 使用一些模型:
f(x) = 1 / (exp(x) - 1)
其中 x 可以是 -5 到 +5 之间的任何值。
x 可以为零,在我的模拟过程中确实会发生这种情况,导致 f(x) 趋于无穷大,这会返回 nan + 1jnan。
因为我想稍后使用此计算的结果,例如对于 FFT,这会产生一个主要问题,因为 fft 例程无法处理输入中的 NAN。
请问有什么推荐的方法来解决这个问题吗? 例如把逻辑说成:如果 x == 0:返回 0 要么 例如如果 x 等于 0,则将 x 移动 0.00000001%,以避免这个问题。
谢谢
【问题讨论】:
-
也许这有用? github.com/kvesteri/infinity
-
np.nan_to_num 很有用,谢谢,但我想将 inf 设置为 0 而不是任意高数。不过我可以手动完成。
标签: python numpy divide-by-zero