Usando scipy curve_fit para un número variable de parámetros

Tengo una función de ajuste que tiene la forma:

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

donde a, b, c son listas de lenth N, cada entrada de las cuales es un parámetro variable para ser optimizado en scipy.optimize.curve_fit (), y N es un número fijo utilizado para el control de índice de bucle.

Siguiendoesta pregunta Creo que puedo arreglar N, pero actualmente estoy llamando a curve_fit de la siguiente manera:

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)

Me sale un error: lambda () toma exactamente Q argumentos (P dado)

donde Q y P varían dependiendo de cómo estoy configurando las cosas.

Entonces: ¿es esto posible, para empezar? ¿Puedo pasar listas como argumentos a curve_fit y tener el comportamiento que espero en el que trata los elementos de la lista como parámetros individuales? Y suponiendo que la respuesta sea sí, ¿qué estoy haciendo mal con mi llamada de función?

Respuestas a la pregunta(1)

Su respuesta a la pregunta