Seite 1 von 1

Fitfunktion erzeugen

Verfasst: Donnerstag 27. Juni 2019, 14:49
von Bayro97
Guten Tag,

ich habe ein kleines Problem. Ich habe folgenden Code formuliert:

import numpy as np
import pylab as plt
from scipy import optimize

def bpm(x,c0,c1):
return c0 * x**2 + c1

xdata = np.array([1,2,3,4,5,6,7])
ydata = np.array([1,4,10,15,26,35,50])

fit = optimize(bpm, args=(xdata,ydata))
plt.plot(xdata, ydata, fit)
plt.show()
print("Parameter:", fit)

Wie ersichtlich werden sollte, möchte ich einen ganz einfachen Fit. Das Programm streikt aber ohne Ende. Behebe ich einen Fehler, entsteht immer ein neuer. Und den Fehler ('module' object is not callable) bekomme ich gar nicht mehr weg. Gibt es keine einfache Methode, um die Daten zu fitten?

Re: Fitfunktion erzeugen

Verfasst: Donnerstag 27. Juni 2019, 15:11
von __deets__
Bitte benutz die code-Tags um den Code vernuenftig und mit Erhalt der fuer Python wichtigen Einrueckungen darzustellen.

Und bei Fehlern nicht irgendetwas aus dem Gedaechtnis hinschreiben. Das hilft nicht. Was hilft ist der konkrete Fehler, der zu dem gezeigten Code passt, damit man zB die Zeilennummern sieht und die ins Verhaeltnis zu dem Fehler setzen kann.

Re: Fitfunktion erzeugen

Verfasst: Donnerstag 27. Juni 2019, 15:22
von __deets__
Und nachdem ich mal scipy.optimize nachgeschlagen habe, ist auch klar, woher dein Fehler kommt: scipy.optimize ist ein Modul. Da gibt es jede Menge Funktionen darin (https://docs.scipy.org/doc/scipy/refere ... imize.html). Davon musst du nunmal eine mit optimize.wasauchimmerdutunwillst aufrufen.