【发布时间】:2019-01-09 15:20:12
【问题描述】:
这是我的代码的 sn-p。
from scipy.integrate import quad
from numpy import exp, log, inf
def f(x):
return log(log(x))/(x*log(x**2))
val, err = quad(f, exp(), exp(2))
val
我知道代码结构正确,但我无法正确格式化 exp()。我究竟做错了什么?该函数应输出 0.069324。提前感谢您的帮助!!!
这是 WolfRamAlpha 的答案:
【问题讨论】:
-
要使用
exp函数获取e,请使用exp(1)。即val, err = quad(f, exp(1), exp(2)) -
使用 exp(1) 输出 .12011 接近真实解的两倍
-
看起来上限应该是
2*exp(1),而不是exp(2)。使用val, err = quad(f, exp(1), 2*exp(1)),我得到val = 0.06932400271887294。 -
此外,numpy 将
e的值包含为预定义常量np.e。所以你也可以使用val, err = quad(f, np.e, 2*np.e)。 -
另外,请正确缩进和格式化您的代码。谢谢!
标签: python python-3.x numpy scipy numerical-integration