【发布时间】:2020-03-14 07:12:39
【问题描述】:
from scipy import integrate
import numpy as np
from mpmath import coth
DvDc = 6.5
dens = 5.65
Vs = 4.6e3
a = 3.3e-9
w0 = np.sqrt(2)*Vs/a
T = 50
kb = 1.38064852e-5 # in eV`
j0 = (DvDc)**2 / ((2*np.pi)**2 *dens*Vs**5)
def func(x):
return x*np.exp(-(x/w0)**2)*coth(x/(2*kb*T))
S = j0*integrate.quad(func, 0, np.inf)[0]
print(S)
您好,所以我没有使用数值积分的经验,但我想知道是否有人可以提供帮助。 在这里,我定义了一些变量,并且有一个我想要集成的函数。但是我回来了“积分可能是发散的,或者是慢慢收敛的。”尽管我在 coth 的分母中添加了内容,但几乎得到了相同的结果。
有谁知道我是否犯了错误,或者我只是无法做到这一点。
谢谢!
【问题讨论】:
-
什么是integrate.quad?
-
Coth 未定义为零,这可能会导致数值积分出现问题
-
嗨,integrate.quad 来自 scipy 包
-
你知道正确答案是什么吗?我得到 4.598332106511304e-20
-
如果你看一下 cot(????) 的图形,你会发现它是一个周期函数,从正无穷大到负无穷大。不管价值有多大??????得到,它将继续以这种方式重复,并且永远不会倾向于任何一个值????。因此,这里的问题是无穷大而不是 0。
标签: python numerical-integration