我想使用该scipy.optimize
模块来最小化一个功能。假设我的功能是f(x,a)
:
def f(x,a):
return a*x**2
对于一个固定的a
,我想最小f(x,a)
化x
。
scipy
例如,我可以导入函数(我有fmin
一个旧的 scipy:v.0.9.0),给出一个初始值x0
,然后优化(文档):
from scipy.optimize import fmin
x0 = [1]
xopt = fmin(f, x0, xtol=1e-8)
失败是因为f
需要两个参数并且fmin
只传递一个(实际上,我什至还没有定义a
)。如果我做:
from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)
计算也将失败,因为“未定义 x”。但是,如果我定义x
,则没有要优化的变分参数。
如何在这里允许将非变分参数用作函数参数?