Python 2.7 从scipy Optimize中提取输出
在使用Powell算法最小化Python中的一个双参数函数后,我得到以下输出:Python 2.7 从scipy Optimize中提取输出,python-2.7,optimization,scipy,minimize,Python 2.7,Optimization,Scipy,Minimize,在使用Powell算法最小化Python中的一个双参数函数后,我得到以下输出: fun: -3.5839582049322310 maxcv: 0.0 message: 'Optimization terminated successfully.' nfev: 98 status: 1 success: True x: array([ 1.9116445888705806, 3.7094985019795996]) 我希望提取x中的两个优化参数,然后将其传递到脚本的另一部分。有没有一种
fun: -3.5839582049322310
maxcv: 0.0
message: 'Optimization terminated successfully.'
nfev: 98
status: 1
success: True
x: array([ 1.9116445888705806, 3.7094985019795996])
我希望提取x中的两个优化参数,然后将其传递到脚本的另一部分。有没有一种方法可以自动提取这些数字,而不必在脚本中手动输入它们?我已经查看了
scipy
文档,但没有找到任何关于如何访问输出的信息。查看用于计算结果的代码会很有帮助,现在我只能猜测您做了什么
我假设您的代码如下所示:
res = scipy.optimize.minimize(fun, f0, method='Powell')
这将返回一个对象。要获得优化的实际结果,您需要调用
print(res.x)
res.x
的类型是numpy.ndarray。如果您只想在计算成功的情况下继续,那么您可以执行以下操作
if res.success:
print('success, the results are')
print(res.x)
当然!这么简单,真不敢相信我没有想到,打印res.x作品