最小化多个变量的函数

问题描述

我有以下定义函数 f代码

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

其中 a,b 是浮点数,lst 是列表,data 是 np.array。我正在尝试使用 a,b 来最小化 scipy.optimize.minimize 的这个函数,但是当我运行这个

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'

解决方法

我认为您已经在函数外部定义了数据。只需从函数中删除数据对象,它就会完美运行。