我该如何解决溢出错误:数学范围错误

时间:2019-01-21 03:54:41

标签: python python-3.x math scipy

我收到溢出错误

import numpy as np

pi = np.pi

from scipy.integrate import quad
from math import exp

hbar = 1.055e-34
boltz = 1.381e-23
c = 2.998e8

def z(x):
    return (x**3)/(exp(x)-1)

B=quad(z,0,np.inf)       
A= ((boltz**4)*B)/(4*(pi**2)*(c**2)*(hbar**3))

print (A) 

这在第11行给了我一个溢出错误,即return (x**3)/(exp(x)-1)

2 个答案:

答案 0 :(得分:0)

您达到机器精度,而python吓坏了。

data[i]

只需集成多达700个,您就可以了。

答案 1 :(得分:0)

您可以使用np.exp而不是math.exp:它会针对大量数字发出警告并返回np.inf(结果为1/np.inf = 0),而不是引发{ {1}}

OverFlowError