【问题标题】:Problems with minimizing 2-dimenshional function in Python's scipy.optimize在 Python 的 scipy.optimize 中最小化二维函数的问题
【发布时间】:2016-08-23 22:59:54
【问题描述】:

我想最小化二维函数并拥有这样的 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'

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

【问题讨论】:

标签: python scipy minimize


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-08-25
    • 1970-01-01
    • 2019-03-12
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2014-09-05
    • 1970-01-01
    相关资源
    最近更新 更多