如果是多元函数,则为optimize.fsolve

时间:2019-04-04 14:47:57

标签: python scipy

我需要求解f(x,y)=0形式的代数方程,并且我知道y的值为y0。一种可行的方法是定义一个仅是x

的函数
y0=0.1 
def g(x):
    return f(x,y=y0)

,然后使用g找到新功能fsolve的解决方案:

from scipy import optimize
solution = optimize.fsolve(g,x0=0.1)

是否有更优雅的方法来做到这一点?我想指定不需要定义新函数就知道y的值。

1 个答案:

答案 0 :(得分:1)

y0或任何其他额外的输入作为args传递给函数。

以下是最小的示例。

def f(x,y):
  return 2*x*x - y
scipy.optimize.fsolve(func, x0=3, args=(5))  # y0=5


array([1.58113883])