2

根据文档,只要我使用 args=() 将所述参数传递给 bisect(),我就应该能够将具有多个参数的函数一分为二。但是,我无法让它工作,也没有找到在这种情况下使用此功能的示例。

我的函数的形状是 $f(a,x)$,其中用户输入 $a$,程序使用 scipy.optimize.bisect() 在变量 x 中找到一个根。

我尝试将其传递为:

scipy.optimize.bisect(f,-a,a,args=(a,))

但这并不完全奏效。

4

1 回答 1

4

args参数添加根查找操作的参数之后,而不是之前。如果要对最后一个参数而不是第一个参数执行根查找,则需要编写一个包装函数,使函数的签名适应bisect预期的内容。

def g(x, a):
    return f(a, x)

do_whatever_with(scipy.optimize.bisect(g, -a, a, args=(a,))
于 2019-01-20T06:27:59.013 回答