У меня есть экспериментальные данные, к которым я пытаюсь подобрать кривую, используя функцию UnivariateSpline в scipy. Данные выглядят так:
x y
13 2.404070
12 1.588134
11 1.760112
10 1.771360
09 1.860087
08 1.955789
07 1.910408
06 1.655911
05 1.778952
04 2.624719
03 1.698099
02 3.022607
01 3.303135
Вот что я делаю:
import matplotlib.pyplot as plt
from scipy import interpolate
yinterp = interpolate.UnivariateSpline(x, y, s = 5e8)(x)
plt.plot(x, y, 'bo', label = 'Original')
plt.plot(x, yinterp, 'r', label = 'Interpolated')
plt.show()
Как выглядит:
Мне было интересно, думал ли кто-нибудь о других вариантах подгонки кривой, которые могли бы иметь scipy? Я относительно новичок в scipy.
Спасибо!