Mit scipy curve_fit für eine variable Anzahl von Parametern

Ich habe eine Anpassungsfunktion mit der Form:

def fit_func(x_data, a, b, c, N)

wobei a, b, c Listen von lenth N sind, von denen jeder Eintrag ein variabler Parameter ist, der in scipy.optimize.curve_fit () optimiert werden soll, und N eine feste Zahl ist, die für die Schleifenindexsteuerung verwendet wird.

Folgendiese Frag Ich glaube, ich kann N reparieren, aber ich rufe derzeit curve_fit wie folgt auf:

params_0 = [a_init, b_init, c_init]
popt, pcov = curve_fit(lambda x, a, b, c: fit_func(x, a, b, c, N), x_data, y_data, p0=params_0)

Ich erhalte eine Fehlermeldung: lambda () akzeptiert genau Q Argumente (P angegeben)

wo Q und P variieren je nachdem, wie ich die Dinge einstelle.

So: geht das überhaupt erst mal? Kann ich curve_fit Listen als Argumente übergeben und so verhalten, wie ich es mir erhoffe, wobei Listenelemente als einzelne Parameter behandelt werden? Und wenn die Antwort ja lautet, was mache ich mit meinem Funktionsaufruf falsch?