第一次发帖,请温柔点!
我想对一个指数函数进行寻根运算 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)
这应该给了一个提示,问题就出在这里