Numpy:如何进入 "overflow encountered in exp"?
Numpy: How do I get inside an "overflow encountered in exp"?
首先post,请轻柔!
我正在尝试对指数函数 1/(np.exp((j-w)/x)-1)
求根,但我发现我一直得到 RuntimeWarning: overflow encountered in exp
。
我知道这是由于 float64 的限制,但我似乎无法插入代码来帮助理解这是从哪里来的。我试图包括一些 try...except OverflowError
块,让我一窥这种情况不断发生的地方,但它似乎从来没有抓住这一点。
我对如何处理它有想法,只要我能让我的代码在遇到溢出时做一些不同的事情。
提前致谢!
我猜问题是您无法确定警告何时发生。为此,请使用 try
/except
但稍作修改:
import warnings
warnings.filterwarnings("error")
...
try:
1/(np.exp((j-w)/x)-1)
except RuntimeWarning:
print(j)
print(w)
print(x)
print((j-w)/x)
这里应该有提示,问题就出在这里
首先post,请轻柔!
我正在尝试对指数函数 1/(np.exp((j-w)/x)-1)
求根,但我发现我一直得到 RuntimeWarning: overflow encountered in exp
。
我知道这是由于 float64 的限制,但我似乎无法插入代码来帮助理解这是从哪里来的。我试图包括一些 try...except OverflowError
块,让我一窥这种情况不断发生的地方,但它似乎从来没有抓住这一点。
我对如何处理它有想法,只要我能让我的代码在遇到溢出时做一些不同的事情。
提前致谢!
我猜问题是您无法确定警告何时发生。为此,请使用 try
/except
但稍作修改:
import warnings
warnings.filterwarnings("error")
...
try:
1/(np.exp((j-w)/x)-1)
except RuntimeWarning:
print(j)
print(w)
print(x)
print((j-w)/x)
这里应该有提示,问题就出在这里