在Python的scipy.optimize中最小化二维函数的问题

ztyzrc3y  于 2023-10-20  发布在  Python
关注(0)|答案(1)|浏览(193)

我想最小化二维函数,并有这样的Python代码:

def f(x,y): 
    return (x-1.0)**2 + (y-2.0)**2

res = minimize(f, x0 = [0.0,0.0], bounds = ((-5,5),(-5,5)), method = 'L-BFGS-B')

它不工作,因为这样的错误(这是错误的最后一行):

TypeError: f() missing 1 required positional argument: 'y'

这是什么意思,我该如何解决?

pinkon5k

pinkon5k1#

如果你想用scipy.optimize.minimize优化一个多维函数,你需要把它表达成一个接受数组的函数:

res = minimize(lambda x: f(*x), x0=...)

相关问题