Scipy优化函数有几个变量

时间:2016-10-28 00:23:47

标签: python scipy

我有一个带有2个变量的函数,我尝试使用L-BFGS-B方法将其最小化。

def f(x,y):
    z = exp(x + y)
return z 

我的参数是numpy数组,x0是(0,0)。我试着像:

res = minimize(f,x0,args=(x,y), method = "L-BFGS-B")

并得到错误说我给3个参数而不是2.出了什么问题?

1 个答案:

答案 0 :(得分:1)

args参数用于将额外数据传递到目标函数。在您的情况下,目标函数应该采用一个参数:它应该被评估为数组的点。例如:

def f(x):
    return np.exp(x.sum())

minimize(f, [0,0], bounds=[[-5,None], [-5,None]])

我想你正在优化指数以外的函数,对吧?因为最小化它显然是微不足道的......