Scipy最小化fmin - 语法问题

use*_*501 6 python optimization minimize scipy

我有一个函数,它接受几个参数(一个数组和两个浮点数)并返回一个标量(浮点数).现在我想通过改变两个参数来最小化这个函数:两个浮点数.然后使用数组在函数内"解包"其内容(数组和浮点数).

如何使用SciPy的fmin功能完成这项工作?我很难找到正确的语法.

功能如下:

def func(x, y, data)
    data1=data[0]
    data2=data[...]
    ...
    ...
    result = ...x...y...data1...data2... #result is a scalar (float)
    return result
Run Code Online (Sandbox Code Playgroud)

scipy.optimize.fmin在这种情况下应该是什么样的?

optimize.fmin(func, ???)
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!

一切顺利,pp

Lev*_*sky 5

scipy假设参数在数组中.您可以定义辅助函数:

def helper(xy):
    return func(xy[0], xy[1], data)
Run Code Online (Sandbox Code Playgroud)

并最小化它optimize.fmin:

optimize.fmin(helper, np.array([x0, y0]), ...)
Run Code Online (Sandbox Code Playgroud)