如何向scipy.optimize.newton_krylov传递额外参数?

4

我正在尝试找到满足以下方程的变量 "k"

F(k,u,v,w) = 0

还有额外的参数u、v和w。我一直在试图使用newton_krylov(http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.newton_krylov.html)来解决它,该函数将根据猜测的k数值解决系统,但似乎没有办法包含其他参数。

我的问题是我需要传递F的附加参数,但是似乎没有办法将它们传递给F。我不知道是否有办法传递它们,或者是否有hack方法可以使其工作?

如果有更合适的函数适用于此情况,也很酷。


可以假设您可以编写一个函数F(k),该函数了解u、v和w。 F(k)可以是包括设置和获取其他参数的类的方法,也可以使用由您定义的命名空间中的u、v和w,或者(最后选择)使用全局变量... - Jon Custer
1个回答

7

您可以将 F 包装在 lambda 函数中,然后传递给 newton_krylov,像这样:

newton_krylov(lambda k:F(k,1,2,3), ... )

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接