非单调插值方法

时间:2013-02-11 16:08:28

标签: java algorithm interpolation spline

我正在尝试通过多个维度插入曲线(这只涉及在每个维度上单独使用插值方法),而我对PCHIP(分段立方Hermite插值多项式)有点困惑。 PCHIP仅适用于单调数据吗?我感兴趣的数据必然是非单调的,所以我使用了Catmull-Rom样条,但PCHIP似乎更适合我的数据,但是PCHIP的现成实现仅用于严格增加/减少数据。我想编写自己的PCHIP插值算法(在java中),但我似乎无法在网络上的任何地方找到底层算法。我想我的问题是

1)PCHIP是否适用于非单调数据?

2)如果没有,是否有其他插值方法通过控制点,我可以使用?

3)有没有人知道我在哪里可以找到PCHIP背后的算法?

1 个答案:

答案 0 :(得分:1)

我不知道PCHIP是一个既定术语,但对我来说,这个名字暗示任何 use of a cubic hermite polynomial for interpolation,即一个更通用的术语,其中包括Catmull-Rom等。普通spline interpolation的主要区别事实似乎是显式计算的切线。两者都可能适用于您的情况,因为两者都会通过定义点,也不会强制单调性。维基百科有一些描述和一些参考资料,如果这些是你想到的概念。如果没有,您应该更加具体地了解您阅读此术语的上下文,因为该上下文可能提供更具体的定义。