2017-05-07 36 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