【问题标题】:Minimize function of many variables最小化许多变量的函数
【发布时间】:2021-06-18 11:58:08
【问题描述】:

我有以下代码定义函数f

def f(a,b,lst,data): 
     #Evaluates some function that depends on parameters a, b, lst and data
     value = #some value calculation
     return value 

a,b 是浮点数,lst 是列表,data 是 np.array。我正在尝试使用scipy.optimize.minimize 最小化与a,b 相关的此功能,但是当我运行此功能时

lst = #some list
data = #some np.array
scipy.optimize.minimize(f,x0 = [0.1,0.1], args = (lst,data))

我收到以下错误:f() missing 1 required positional argument: 'data'

【问题讨论】:

  • 您的代码不够一致,无法为正在发生的事情提供可信的图片。请提供实际的 MCVE 和完整的堆栈跟踪
  • 阅读minimize 文档。它如何区分最小化变量和通过args 传入的变量?具体来说,您的 2 元素 x0 是否与 a,b 参数一致?

标签: python numpy scipy mathematical-optimization


【解决方案1】:

我认为您已经在函数之外定义了数据。只需从函数中删除数据对象即可完美运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2019-11-05
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多