SciPy.interpolate.interp1d中哪些派生词用于样条线?

问题描述 投票:2回答:1

我试图找出scipy.interpolate.interp1d中的样条插值如何决定拟合/平滑函数的导数应该是什么。从documentation,据我所知,如果将interp1d(或intquadratic)传递给cubic关键字,kind适合样条曲线。

但如果我不提供任何衍生信息,它如何决定衍生品是什么?我试着按照源代码中的函数调用,但这只让我看到了神秘的spleval函数,它似乎只是调用FITPACK。而且我不确定如何从their website找到有关FITPACK的信息......

python scipy interpolation spline
1个回答
2
投票

结点处的样条导数没有明确规定,它们由continuity/smoothness conditions决定。我将以立方案为例。您给出n个x值和n个y值。三次样条具有4 *(n-1)个系数,在给定的x值之间的每个(n-1)个间隔上有4个。这些系数由以下条件确定:

  • 样条必须在每个内部结处连续:这是(n-2)个方程,因为有(n-2)个内部结。我们希望结的左侧和右侧两个部分在结处具有相同的值。
  • 样条的一阶导数必须在每个内部结处连续:这是(n-2)个方程。
  • 样条的二阶导数必须在每个内部结处连续:这是(n-2)个方程。
  • 样条曲线必须与给定的y值相匹配:这是n个方程式。

到目前为止总数是4 * n-4个4 * n-4个未知数的方程。需要另外两个方程式;最受欢迎的选择是要求三阶导数在最左边和最右边的内部结处连续(这称为“非结”状态)。现在我们有一个大小为4 * n-4的线性系统,可以求解系数。


上面不应该与Hermite interpolation混淆,qazxswpoi是一个规定衍生物的价值以及函数本身的价值的地方。这是一项不太常见的任务,据我所知,SciPy没有内置工具。

© www.soinside.com 2019 - 2024. All rights reserved.