【问题标题】:How do I calculate the first derivative on a discrete set of points in cubic spline implementation?如何计算三次样条实现中离散点集的一阶导数?
【发布时间】:2019-04-08 11:09:15
【问题描述】:

我正在尝试实现三次样条插值。三次样条在数学上并不难理解,但我在理解“Di”一词时遇到了问题,如数学世界上的fourth equation 所示。

Di 是指通过从离散的点集中获取当前点和下一个点(分别为 y_i 和 y_i+1)计算的有限差分吗?

【问题讨论】:

  • 似乎是一个数学堆栈交换问题。
  • 你是对的。下次我会这样做。

标签: spline derivative


【解决方案1】:

Di 只是三次样条在点 y_i 处的一阶导数向量。它可以通过包括有限差分在内的各种方法来计算。 Catmull-Rom 样条是一种常用的样条,它从 y_(i-1) 和 y_(i+1) 推导出 y_i 的一阶导数。

MathWorld 文档的第一部分(直到方程 9)简单地表明,如果您有 n 个点和 n 个一阶导数,则通过所有 n 个点的三次样条将被完全定义。请注意,此三次样条由 (n-1) 个三次多项式组成,通常只有 C1 连续。

eq 之后该文档的第二部分。图 9 表明,您可以通过使三次多项式之间的二阶导数在所有内点处相同(即等式 13)来消除对一阶导数的需要。但是,这样做会导致 (4n-2) 方程有 4n 个未知数。因此,我们需要再添加两个条件。零二阶导数在第一个点和最后一个点(方程 16、17)通常用于这两个条件,这也将导致所谓的自然三次样条。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2012-04-30
    • 2017-07-26
    • 2023-03-12
    相关资源
    最近更新 更多