Как мне получить плавную подгонку для моих точек данных, используя «scipy.optimize.curve_fit»? - PullRequest
3 голосов
/ 25 марта 2019

Я хочу подогнать некоторые точки данных, используя scipy.optimize.curve_fit.К сожалению, у меня нестабильное прилегание, и я не знаю, почему.Может кто-нибудь объяснить, что я здесь делаю не так?

1 Ответ

3 голосов
/ 25 марта 2019

Вы строите только те же точки х, что и исходные данные в вашем вызове:

ax.plot(M, V, 'go', label='data')
ax.plot(M, func(M, *popt), '-', label='fit')

Чтобы исправить это, вы можете использовать более широкий диапазон - здесь мы используем все значения от 700 до 1200:

toplot = np.arange(700,1200)
ax.plot(toplot, func(toplot, *popt), '-', label='fit')

smooth

...