2016-05-06 16 views
0

私は最適化が初めてで、最小二乗最小化を使用するのに問題があります。scipy.optimize.leastsqに問題がありました

デフFUNC(TPL、X):。 戻り1./exp(x/360 * TPL)

DEF errfunc(TPL、x、y)はここ は私がこれまで試みたコードであります: FUNC(TPL、X) - Y

// x軸

XDATA = np.array([181274])

//最小和(Y - FUNC(X))* * 2

YDATA = np.array([0.992198836646864,0.992996067735572])

//初期推定

tplInitial1 =(0.031、0.032) POPT、PCOV = leastsq(errfunc、tplInitial1 [:]、引数=(XDATA 、ydata)) print popt

[0.032359,0.03071]が最小化関数によって返されることを望んでいましたが、「長さ1の配列しかPythonスカラーに変換できません」ということを望んでいました。 何か助けていただければ幸いです。ありがとうございました。

+1

実際のコードは実行していますか? '//'はPythonのコメント構文ではありません! –

+1

'errfunc'は' return'文を持っていないので 'None'を返します。おそらく、関数の本体は 'return func(tpl、x)-y'でなければなりません。 –

答えて

0

numpy.exp(つまり、配列バージョンではなくスカラーバージョン)の代わりにmath.expを使用していると思われます。 from numpy import expをお試しください。

関連する問題