Mig*_*uel 3 python numpy mathematical-optimization minimization scipy
我想使用该scipy.optimize模块来最小化一个功能.假设我的功能是f(x,a):
def f(x,a):
return a*x**2
Run Code Online (Sandbox Code Playgroud)
对于一个固定的a,我希望尽量减少f(x,a)关于x.
与scipy我可以导入例如fmin功能(I有一个旧SciPy的:v.0.9.0),得到一个初始值x0,然后优化(文档):
from scipy.optimize import fmin
x0 = [1]
xopt = fmin(f, x0, xtol=1e-8)
Run Code Online (Sandbox Code Playgroud)
失败因为f有两个参数并且fmin只传递一个(实际上,我还没有定义a).如果我做:
from scipy.optimize import fmin
x0 = [1]
a = 1
xopt = fmin(f(x,a), x0, xtol=1e-8)
Run Code Online (Sandbox Code Playgroud)
计算也将失败,因为"x未定义".但是,如果我定义x那么没有要优化的变量参数.
如何在此处将非变分参数用作函数参数?
阅读其docstring中的args参数fmin,并使用
a = 1
x0 = 1
xopt = fmin(f, x0, xtol=1e-8, args=(a,))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8068 次 |
| 最近记录: |