在scipy中选择积分变量

3

我想在使用scipy.integral.quadrature积分函数时选择要作为积分变量的变量,例如:

def f(x,a,b):
   return a*x+b

print scipy.integrate.quadrature(f,0,3,args=(2,3))

这段代码运行良好,结果为17.9999999999,正如应该的那样。如果我想让b成为我的积分变量而不是x,我应该在积分括号中写什么? 另外,在args中,我可以通过名称设置值,例如a=2 b=3吗? 我想在具有更多参数的函数中应用积分,并且不希望用户记住参数的顺序,只需通过名称设置积分变量并按名称给出其他参数(即参数)的值。

1个回答

1

第一个变量是被集成的变量,因此要在b上进行集成,可以将函数定义为f(b,a,x)。

args传递一个元组,因此它必须被排序。如果您不希望用户使用顺序,则只需将函数包装在另一个函数中,该函数包装了integrate.quadrature部分并获取a和b作为参数(无序),然后您可以只使用args(a,b),这样您的问题就解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接