gpt4 book ai didi

python - SciPy.interpolate.interp1d 中的样条使用了哪些导数?

转载 作者:太空宇宙 更新时间:2023-11-04 03:58:01 25 4
gpt4 key购买 nike

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

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

最佳答案

结点处的样条导数没有明确规定,它们由 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-6 个方程式,对应 4*n-4 个未知数。需要两个额外的方程;最流行的选择是要求三阶导数在最左边和最右边的内部结处连续(这称为“非结”条件)。现在我们有一个大小为 4*n-4 的线性系统,可以求解系数。


以上不应与 Hermite interpolation 混淆,这是人们规定导数以及函数本身的值的地方。这是一项不太常见的任务,据我所知,SciPy 没有内置工具。

关于python - SciPy.interpolate.interp1d 中的样条使用了哪些导数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17271974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com