根据documentation,只要我使用args =()将所述参数传递给bisect(),我就应该能够将一个带有多个参数的函数一分为二。但是,我只是无法使其工作,也没有设法找到在这种情况下使用此功能的示例。
我的函数的形状为$ f(a,x)$,用户输入$ a $,程序使用scipy.optimize.bisect()在变量x中找到根。
我尝试将其传递为:
scipy.optimize.bisect(f,-a,a,args=(a,))
但这并不完全有效。
答案 0 :(得分:2)
将args
自变量添加到根查找所基于的自变量的之后,而不是之前。如果要对最后一个参数而不是第一个参数执行寻根,则需要编写一个包装函数,以使函数的签名适应bisect
的期望。
def g(x, a):
return f(a, x)
do_whatever_with(scipy.optimize.bisect(g, -a, a, args=(a,))