我有一个函数,它带有几个参数(一个数组和两个浮点数)并返回一个标量(浮点数)。
现在,我想通过更改两个参数来最小化此函数:两个浮点数。
然后在函数内部使用数组的内容(数组和浮点数)对其进行“解压缩”。

如何使用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]), ...)

关于python - Scipy最小化fmin-语法问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14383964/

10-10 01:33