2017-05-07 41 views
-1

我正在使用scipy.optimize.fmin https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.fmin_cg.htmlscipy.optimize.fmin_cg中与“优化终止成功”关联的变量?

什么是与“优化终止成功”关联的变量?

我需要它,这样我可以写这样的:

如果“优化未成功的”,然后“停for循环”

谢谢。

+0

'warnflag'是一个很好的猜测。 – cel

+0

我试过了,但是如果我写warnflag,说它没有定义 – Mencia

+0

请分享这个代码,也是错误信息。 – cel

回答

2

只需按照文档。

你有兴趣warnflag(如在评论中提到的CEL),第5个元素返回,所以只指数 (0索引在Python!)与result[4]结果来获得你的价值。

该文档还说,其中一些只有在用参数full_output=True调用时才会返回,所以请执行此操作。

简单的例子:

import numpy as np 
args = (2, 3, 7, 8, 9, 10) # parameter values 
def f(x, *args): 
    u, v = x 
    a, b, c, d, e, f = args 
    return a*u**2 + b*u*v + c*v**2 + d*u + e*v + f 
def gradf(x, *args): 
    u, v = x 
    a, b, c, d, e, f = args 
    gu = 2*a*u + b*v + d  # u-component of the gradient 
    gv = b*u + 2*c*v + e  # v-component of the gradient 
    return np.asarray((gu, gv)) 
x0 = np.asarray((0, 0)) # Initial guess. 
from scipy import optimize 
res1 = optimize.fmin_cg(f, x0, fprime=gradf, args=args, full_output=True) # full_output !!! 
print(res1[4]) # index 4 !!! 
+0

谢谢!!! @sascha – Mencia