Har*_*pal 27 python math overflow
我尝试这个计算时遇到溢出错误,但我无法弄清楚原因.
1-math.exp(-4*1000000*-0.0641515994108)
Run Code Online (Sandbox Code Playgroud)
Vat*_*sal 17
要修复它,请使用:
try:
ans = math.exp(200000)
except OverflowError:
ans = float('inf')
Run Code Online (Sandbox Code Playgroud)
我认为该值太大而无法放入doublepython 中,这就是为什么你得到OverflowError. 我可以exp在我的机器上用 Python计算的最大值略大于 709.78271。
小智 5
尝试 np.exp() 而不是 math.exp()
Numpy 更优雅地处理溢出,np.exp(999) 结果为 inf 和 1. / (1. + np.exp(999)) 因此简单地结果为零
import math
import numpy as np
print(1-np.exp(-4*1000000*-0.0641515994108))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72509 次 |
| 最近记录: |