在 Scipy 三次样条中施加导数

Imposing derivatives in Scipy cubic spline

我正在使用 scipy 三次样条 ("scipy.interpolate.CubicSpline") 进行一维插值。 我想为样条的每个段指定初始和最终导数(“边界条件”,“bc_type”,如果我没记错的话)。 但是,阅读文档并查找示例,我无法理解那是如何发生的(我假设这是可能的)

例如,如果我有 4 个点要插值,我希望有 3 个段,对于每个段,我应该允许初始和最终的一阶导数。但是,唯一接受的语法如下所示:

CubicSpline(x, y, bc_type=((1, <initial_derivative>), (1, <final_derivative>)))

其中指定了单个初始和最终导数(顺便说一句,针对哪个部分?)

我试图用我想到的任何东西替换 bc_type 值,例如一对元组的列表,每个点一个,但与此处报告的语法没有不同。

此时我开始怀疑它是否可能,但它绝对应该:三次多项式表达式有 4 个自由度,允许“固定”两个值和两个导数

任何信息将不胜感激!

segments, for each of which I should be allowed the initial and finale first order derivative

这是 CubicHermiteSplineBPoly.from_derivativesCubicSpline 修复了内部斜率,使插值在内部节点处可微分两次。