sry für den Titel aber das Problem ist leider zu komplex um es in einer Zeile zu beschreiben.
Ich versuche in einem Diagramm eine zweite Kurve einzufügen. Die erste Kurve sind meine Messdaten, die zweite soll nun die gefitteten Gauspeaks anzeigen.
Habe mit einem externen die Peaks gefittet, habe also die benötigten Werte bereits.
Ich muss nun aus diesen Werten wieder eine Kurve basteln.
Da ich Multipkeas habe brauche ich dazu die Summe aller Gausfunktionen für jeden peak.
Habe es zuerst so probiert:
Code: Alles auswählen
x1 = eingelesene x Werte meiner gemessenen Kurve
f = lambda x: 0
for peak_var in peak_list:
center = peak_var[0]
width = peak_var[1]
height = peak_var[2]
g = lambda x: height * math.exp(-1.0/2.0 * ((x - center)/width)**2))
f = lambda x: f(x) + g(x)
y2 = [] # liste für meine peak werte
for x in x1:
y2.append(f(x))
Also habe ich es so probiert:
Code: Alles auswählen
x1 = eingelesene x Werte meiner gemessenen Kurve
f_list = [] #liste für meiner funktionen
for peak_var in peak_list:
center = peak_var[0]
width = peak_var[1]
height = peak_var[2]
g = lambda x: height * math.exp(-1.0/2.0 * ((x - center)/width)**2))
f_list.append(g)
y2 = [] # liste für meine peak werte
for x in x1:
value = 0
for f in f_list:
value += f(x)
y2.append(value)
Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht aber ich habe jetzt bereits zwei Tage versucht raus zu finden was das Problem ist und wende mich deshalb an euch.
Kann mir jemand einen Tipp geben was ich falsch mache?
