2011-08-04 39 views
2

SciPy有關LeastSq的文檔是here。它指出ierScipy Leastsq可選輸出變量(Mesg)

整數標誌。如果它等於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

回答

3

使用full_output參數:

import scipy.optimize as optimize 
p,cov,infodict,mesg,ier = optimize.leastsq(
    residuals,p_guess,args=(x,y),full_output=True) 
+0

哇,我覺得不好意思。 – Richard

+0

似乎這不在文檔中解釋。在返回'cov','infodict'和'mesg'的描述中,我希望「if'full_output'設置爲'True'」這樣的單詞。 – altroware