Usando scipy curve_fit para um número variável de parâmetros
Eu tenho uma função de ajuste que tem a forma:
def fit_func(x_data, a, b, c, N)
onde a, b, c são listas do décimo primeiro N, cuja entrada é um parâmetro variável a ser otimizado em scipy.optimize.curve_fit () e N é um número fixo usado para controle de índice de loop.
Segueessa questão Acho que sou capaz de corrigir N, mas atualmente estou chamando curve_fit da seguinte maneira:
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)
Eu recebo um erro: lambda () leva exatamente Q argumentos (P dado)
onde Q e P variam dependendo de como eu estou configurando as coisas.
Então: isso é possível, para iniciantes? Posso passar listas como argumentos para o curve_fit e ter o comportamento que espero, no qual ele trata os elementos da lista como parâmetros individuais? E supondo que a resposta seja sim, o que estou fazendo de errado com minha chamada de função?