我有一个函数f(i,x,y,z)
,我想在数值上最小化,它是i
整数参数和(x,y,z)
实参。我想执行以下操作:
for i in range(5):
minimize f(i,x,y,z) with respect to (x,y,z)
如果可能,如何使用scipy.optimize.minimize
来做到这一点?
您可以创建一个包装函数,例如:
def wrap_f(i):
"""i is your integer."""
def wrapped(x)
# x is the ndarray that scipy will pass you.
return f(i, x[0], x[1], x[2])
return wrapped
然后您可以做:
for i in range(5):
to_min = wrap_f(i)
minimize(to_min, numpy.array([0, 0, 0])