首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在集成函数中使用exp()?

如何在集成函数中使用exp()?
EN

Stack Overflow用户
提问于 2018-08-02 07:45:11
回答 2查看 328关注 0票数 -2

下面是我的代码片段。

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的答案:

EN

回答 2

Stack Overflow用户

发布于 2018-08-02 07:50:58

numpy的exp是一个函数,而不是一个数字。你想要的

exp(1) = e
exp(2) = e**2

或者也许

import numpy as np
np.e
np.e**2

当您的集成受到限制时。

也就是说,我得到了

from numpy import exp, log

def f(x): 
    return log(log(x))/(x*log(x**2))

val, err = quad(f, exp(1), exp(2))
val

返回0.12011325347955035

这绝对是这个积分的值。您可以更改变量以进行验证

val,err = quad(lambda x: log(x)/(2*x),1,2) 

得到相同的结果。

票数 1
EN

Stack Overflow用户

发布于 2018-08-02 07:51:35

只需将exp()替换为exp(1),就可以了。顺便说一下,一旦你找出了正确的函数,你也可以使用一个线性的lambda函数。您的代码是完全正确的。我想分享另一种可能的方式来实现同样的事情。

f = lambda x: np.log(np.log(x))/(x*np.log(x**2))
val, err = quad(f, exp(1), 2*exp(1))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51643687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档