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?