Ich bin neu in der Optimierung und Probleme mit der Minimierung der kleinsten Quadrate. Hier ist der Code habe ich versucht, so weit:Probleme mit scipy.optimize.leastsq haben
def func (tpl, x):. return 1./exp(x/360 * tpl)
def errfunc (tpl, x, y) : func (tpl, x) - y
// x-Achse
xdata np.array = ([181.274])
// minimieren sum (y - func (x)) * * 2
YDATA np.array = ([0.992198836646864,0.992996067735572])
// Anfangsschätz
tplInitial1 = (0,031, 0,032) Popt, pcov = leastsq (errfunc, tplInitial1 [:], args = (xdata , ydata)) print popt
Ich hatte gehofft, [0.032359,0.03071] zurückgegeben von der Funktion zu minimieren, aber "nur Längen-1-Arrays können in Python-Skalare konvertiert werden". Jede Hilfe wird geschätzt. Vielen Dank.
Ist das der eigentliche Code, den Sie ausführen? '//' ist keine Python-Kommentarsyntax! –
'errfunc' hat keine' return' Anweisung, also gibt es 'None' zurück. Vermutlich sollte der Körper der Funktion 'return func (tpl, x) - y 'sein. –