def fourier(x, *a):
    ret = a[0] * np.cos(np.pi / tau * x)
for deg in range(1, len(a)):
    ret += a[deg] * np.cos((deg + 1) * np.pi / tau * x)
return ret
Динамическое создание определений подгонки кривых scipy для рядов Фурье