我想最小化二维函数并有这样的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'
这是什么意思以及如何解决它?
最佳答案
如果您想使用scipy.optimize.minimize
优化多维函数,则需要将其表示为采用数组的函数:
res = minimize(lambda x: f(*x), x0=...)
关于python - Python scipy.optimize 中最小化二维函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927213/