У меня есть набор данных, содержащий n двумерных точек (x0,y0), (x1 ,y1), ... (xn-1,yn-1), где x0 ‹ x1 ‹ ... ‹ xn-1. Я хочу интерполировать этот набор данных, используя кубические сплайны с явными значениями наклона SBEGIN и SEND, установленными в обеих конечных точках (x 0,y0) и (xn-1,yn-1). Я имею в виду, пусть произведенные n-1 кубические функции будут f0(x)=a0x3+b0< /sub>x2+c0x+d0, f1, ..., f< sub>n-2, тогда df0/dx(x0) = SBEGIN, dfn- 2/dx(xn-1) = SEND.
Я просмотрел scipy.interpolate
, но не могу найти, как установить SBEGIN и SEND для текущего экземпляра.
import numpy
import scipy
xi = numpy.array([1, 2, 3, 4, ... , 100])
yi = numpy.array([3, 5, 18, 9, ... , 42])
s_begin = 2
s_end = -1
# How can I set s_begin and s_end?
f = scipy.interpolate.interp1d(xi,yi,type='cubic')
Кроме того, я хотел бы знать, как получить 4 (n-1) коэффициенты a0,b0,c0,d< sub>0,a1,...,dn-2 каждого кубического сплайна, которые все должны быть построены в f
.