从Python函数获取输出变量

2024-09-27 09:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个函数scipy.optimize.fmin_bfgs,它有几个输出变量。我关心其中两个,xopt和fopt。如何存储这些变量?以下内容对我不起作用:

xopt, fopt = fmin_bfgs(f, 0, fprime = fprime)

然而,这给了我fopt

fopt = fmin_bfgs(f, 0, fprime = fprime)

我也需要xopt,但它说我“还需要一个值来解包”


Tags: 函数scipyoptimize关心bfgsfprimefminxopt
1条回答
网友
1楼 · 发布于 2024-09-27 09:24:09

您需要将full_output设置为true,之后还包括foptfunc_callsgrad_callswarnflag;您可以对返回的序列进行切片:

xopt, fopt = fmin_bfgs(f, 0, fprime = fprime, full_output=True)[:2]

参见^{} documentation

full_output : bool, optional
If True,return fopt, func_calls, grad_calls, and warnflag in addition to xopt.

诚然,这个函数的文档让这一点很不明显,我首先要看一下linked source code。从外观上看,boptgopt在设置full_output时也包括在内,但文档未能正确解释这一点。你知道吗

相关问题 更多 >

    热门问题