SciPy关于LeastSq的文档在这里。表示ier
整数标志。如果它等于1、2、3或4,解就找到了。否则,没有找到解决方案。在这两种情况下,可选的输出变量' mesg '提供更多信息。
但是如何检索可选变量mesg
呢?
x,ier=leastsq(residuals, plsq, args=(x_vals, y_vals))
只给我两个返回值,而
x,mesg,ier=leastsq(residuals, plsq, args=(x_vals, y_vals))
给出了错误信息ValueError: need more than 2 values to unpack
。
使用full_output参数:
import scipy.optimize as optimize
p,cov,infodict,mesg,ier = optimize.leastsq(
residuals,p_guess,args=(x,y),full_output=True)