Fitfunktion erzeugen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Bayro97
User
Beiträge: 6
Registriert: Dienstag 21. Mai 2019, 12:53

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?
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
__deets__
User
Beiträge: 14541
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Antworten