函数具有其他参数时如何使用scipy.optimize.bisect()?

时间:2019-01-20 06:23:18

标签: python python-3.x scipy bisect

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

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

我尝试将其传递为:

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

但这并不完全有效。

1 个答案:

答案 0 :(得分:2)

args自变量添加到根查找所基于的自变量的之后,而不是之前。如果要对最后一个参数而不是第一个参数执行寻根,则需要编写一个包装函数,以使函数的签名适应bisect的期望。

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

do_whatever_with(scipy.optimize.bisect(g, -a, a, args=(a,))