当函数有附加参数时如何使用 scipy.optimize.bisect()?
How to use scipy.optimize.bisect() when function has additional parameters?
根据 documentation,只要我使用 args=() 将所述参数传递给 bisect(),我应该能够平分具有多个参数的函数。但是,我就是无法让它工作,而且我也没有设法找到在这种情况下使用此功能的示例。
我的函数的形状为 $f(a,x)$,其中用户输入 $a$,程序使用 scipy.optimize.bisect() 在变量 x 中找到一个根。
我尝试将其传递为:
scipy.optimize.bisect(f,-a,a,args=(a,))
但这并不完全奏效。
args
参数被添加在 根查找操作的参数之后,而不是之前。如果你想对最后一个参数而不是第一个参数执行求根,你需要编写一个包装函数,使你的函数签名适应 bisect
所期望的。
def g(x, a):
return f(a, x)
do_whatever_with(scipy.optimize.bisect(g, -a, a, args=(a,))
根据 documentation,只要我使用 args=() 将所述参数传递给 bisect(),我应该能够平分具有多个参数的函数。但是,我就是无法让它工作,而且我也没有设法找到在这种情况下使用此功能的示例。
我的函数的形状为 $f(a,x)$,其中用户输入 $a$,程序使用 scipy.optimize.bisect() 在变量 x 中找到一个根。
我尝试将其传递为:
scipy.optimize.bisect(f,-a,a,args=(a,))
但这并不完全奏效。
args
参数被添加在 根查找操作的参数之后,而不是之前。如果你想对最后一个参数而不是第一个参数执行求根,你需要编写一个包装函数,使你的函数签名适应 bisect
所期望的。
def g(x, a):
return f(a, x)
do_whatever_with(scipy.optimize.bisect(g, -a, a, args=(a,))