【发布时间】:2017-03-26 12:39:16
【问题描述】:
让f 是单个向量参数x 的实值python 函数,定义为x 可以有多种长度。我想将f 与长度为m 的所有x(的子集)进行数值积分,其中m 是某个固定的正整数。 scipy.integrate.nquad 似乎是对多个变量进行数值积分的好选择,但是,它需要将输入函数 f 定义为 m 参数的函数,例如def f(x_1, x_2, ..., x_m): ... 而不是 def f(x): ...。 (我假设scipy 需要这个,因为它从argspec 或类似的东西中推断出积分变量的数量。)如何从我的函数f(x) 中获得这样的函数? (我希望能够为 m 的几个“大”值执行此操作,因此“手动”执行此操作不是可接受的答案。)
我也愿意接受scipy.integrate.nquad 的更好替代方案。
【问题讨论】:
-
所以你正在整合
x_n的一个子集,同时改变另一个子集。在积分变量上使用quad或nquad,并使用args参数传递其他变量——一次一个案例。你必须迭代!