【发布时间】:2015-05-09 05:25:45
【问题描述】:
我想在方程上实现 Nelder-Mead 优化。但它不只包含一个变量,它包含多个变量(其中一个是未知的,另一个是已知的。)
例如在这个例子中: http://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html
如果我的 Rosen(x) 是
def rosen(x,y):
... """The Rosenbrock function"""
... return sum(100.0*(x[1:]-x[:-1]**2.0)**y + (1-x[:-1])**2.0)
除了示例中提到的这一点,我该如何优化它? 如果我打电话
res = minimize(rosen, x0, method='nelder-mead',
... options={'xtol': 1e-8, 'disp': True})
它说需要两个参数 如果我打电话
res = minimize(rosen(y), x0, method='nelder-mead',
... options={'xtol': 1e-8, 'disp': True})
之前已经在代码中定义了 y,我得到了同样的错误。虽然如果我叫它
res = minimize(rosen(x,y), x0, method='nelder-mead',
... options={'xtol': 1e-8, 'disp': True})
我收到一个 x 未定义的错误。
【问题讨论】:
标签: python optimization scipy minimization