2015-11-03 29 views
0

我現在使用scipy.optimize.minimize函數來計算我的算法。代碼是這樣的:如何從Scipy Optimize函數獲得結果數組

optim = scipy.optimize.minimize(blablabla) 
print optim 

然後我得到了打印在控制檯中的結果。

status: 0 
    success: True 
    nfev: 42 
hess_inv: <20x20 LbfgsInvHessProduct with dtype=float64> 
     fun: 97330.117758336462 
     x: array([ 0.34842437, 0.31432181, 0.3231227 , 0.82165996, 0.01639795, 
    ]) 
    message: 'CONVERGENCE: NORM_OF_PROJECTED_GRADIENT_<=_PGTOL' 

不過,我需要在代碼中再次使用的結果,我希望得到的x陣列和fun值。如何獲得它們?

回答

2

您可以通過optim.xoptim.fun訪問它們。

+0

它不起作用。我得到了'print optim.x AttributeError:'tuple'對象沒有屬性'x'' – flyingmouse

+0

你確定你沒有做錯別的事嗎?它應該返回一個OptimizeResult,而不是一個元組......你能顯示你的確切代碼嗎? – Julien

+0

謝謝。我的代碼是在http://stackoverflow.com/questions/33386294/python-scipy-optimize-fmin-l-bfgs-b-error-occurs中,代碼的最後一行被修改爲'optimBFGS = sp.optimize .minimize(func,x0 = x0,args =(X,Y,Z))' – flyingmouse

相關問題