2015-11-03 32 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

相关问题