我有一个函数,它接受几个参数(一个数组和两个浮点数)并返回一个标量(浮点数).
现在我想通过改变两个参数来最小化这个函数:两个浮点数.
然后使用数组在函数内“解包”其内容(数组和浮点数).
现在我想通过改变两个参数来最小化这个函数:两个浮点数.
然后使用数组在函数内“解包”其内容(数组和浮点数).
如何使用SciPy的fmin功能完成这项工作?我很难找到正确的语法.
功能如下:
def func(x,y,data) data1=data[0] data2=data[...] ... ... result = ...x...y...data1...data2... #result is a scalar (float) return result
在这种情况下,scipy.optimize.fmin应该是什么样的?
optimize.fmin(func,???)
提前谢谢了!
祝一切顺利,
P.P.
解决方法
scipy假定参数在数组中.您可以定义辅助函数:
def helper(xy): return func(xy[0],xy[1],data)
并使用optimize.fmin将其最小化:
optimize.fmin(helper,np.array([x0,y0]),...)