Я пытаюсь подогнать некоторые данные к гауссовой функции. Я пытаюсь сделать это с помощью функции optomize.curve_fit. Я не могу поместить свои данные в math.exp (). Как я могу обойти это?
def func(xdata, a,b, c):
return a*math.exp(-((xdata-b)**2)/2*c**2)
plt.plot(xdata, ydata, 'ro', label="original data")
popt, pcov = optimize.curve_fit(func, xdata, ydata, maxfev=1000000)
plt.plot(xdata, func(xdata, *popt), label="Fitted Curve")
plt.legend(loc='upper left')
plt.show()