我正在使用 python 分析一些实验室结果,我需要将数据拟合到包含广义指数积分 E1/3 的分布。 除了自己计算积分(非常慢)之外,我能找到的最接近的东西是
scipy.special.expn(n, x)
,但它只支持n的整数值,而我需要n=1/3
。
有人知道是否有这样的功能吗?
你好,我认为你需要定义函数来计算这个
import numpy as np
from scipy.integrate import quad
def integrand(x):
return np.exp(-x) / x**(1/3)
result, error = quad(integrand, 0, np.inf)
print(result)
但它适用于学术用途,我的导师推荐了一个Python库“mpmath”参考:官方mpmath网站,它比上面的函数要快得多。所以修改后的代码片段将是这样的:
import mpmath
def integrand(x):
return mpmath.exp(-x) / x**(1/3)
result = mpmath.quad(integrand, [0, mpmath.inf])
print(result)