Мне нужно разместить сплайны, состоящие из полиномов 3-го порядка, на 1-мерной линии, определенной в плоскости xy.Производная многочленов должна быть одинаковой на стыках.Ожидаемый результат - список полиномов 3-го порядка, определяемых их начальной точкой (узлами сплайнов) и их полиномиальными коэффициентами.
Я подумал, что функция расщепления scipy будет идеальной для этого.Однако у меня есть проблемы с пониманием результата функции.Например, следующий код дает следующие результаты:
x = np.linspace(0, 10, 100)
y = np.sin(x)
sp1 = scipy.interpolate.splrep(x, y, k = 3, t = [2, 6])
result (массив "knot" и "factor" из sp1):
knots: [ 0., 0., 0., 0., 2., 6., 10., 10., 10., 10.]
coefficients: [-0.32946251, 1.55647594, 0.19883333, -2.08984459, 2.79531098,
-1.14372454, 0. , 0. , 0. , 0. ]
Из документации и из моего математического пониманияЯ ожидаю, что базовый код соответствует 3 сплайнам на точках: один от 0 до 2, один от 2 до 6 и один от 6 до 10. Каковы тогда уравнения этих сплайнов?Почему у меня только 6 коэффициентов?Разве у меня не должно быть 12 (3 * 4)?
Примечание: я знаю, что существуют функции, такие как splev, для оценки результата - мне это не нужно.Мне нужны только параметры сплайнов.