gpt4 book ai didi

python - 使用 scipy.integrate 对部分变量集进行积分

转载 作者:太空狗 更新时间:2023-10-30 02:57:14 25 4
gpt4 key购买 nike

我有一个函数,

f = lambda a,b,c,d: <some equation of a,b,c,d>

我想对 f 从 a = 0 到 1 和 b = 0 到 2 进行积分,这样我就可以在 c 和 d 中得到一个函数。我如何使用 scipy.integrate 做到这一点?

示例 -

>>> f = lambda a,b,c,d: a+b+c+d
>>> def g(*args):
f = <some scipy code>
return f
# After integration lets say we get a function g(c,d)
# We know g(c,d) would be equal to, 2c+2d+3 for the case discussed above.
# Now this should give,
>>> g(1,1)
7

如何实现这样的代码?

编辑:我知道 dblquad 可以用于两个变量,但是如果有两个以上的变量怎么办?比方说,对于 a = 0 到 1,b = 0 到 2 和 c = -1 到 1,我们必须对 f(a,b,c,d,e) 进行积分,这样它就给出了一个函数,比如 g(d,e ).编辑 2:应该如何处理 n 个变量?

最佳答案

您可以按照 this answer 中所示执行此操作,只需使用 dblquad 代替 quad。如果您想要 cd 的函数,请使用 dblquadargs 参数:

def g(c,d):
return scipy.integrate.dblquad(f, 0, 1, lambda x: 0, lambda x: 2, args=(c,d))

关于python - 使用 scipy.integrate 对部分变量集进行积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37843330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com