C++ Hermite 插值

C++ Hermite interpolation

我发现 c++ 源计算 "Hermite polynomial interpolating function and derivative values"。 资料来源:https://people.sc.fsu.edu/~jburkardt/cpp_src/hermite/hermite.html

我查看了该来源中的示例,但没有一个适用于我的情况。

我的情况是根据数据点计算某个 x 位置的 y 值,例如:

X: 0.9, 1.7, 2.55, 3.39...
Y: 0.9, 0.8, 0.85, 0.84...

并得到等于 x spaces (x space 0.5) 的结果:

X: 0.5, 1.00, 1.5, 2.00, 2.5, 3.0,...
Y: 0.8, 0.95, 0.8, 0.85, 0.9, 0.9,...

该来源是否适用于我的情况?

要应用Hermite插值,需要在初始节点中定义导数值。

通俗地说,导数值是曲线在节点处的斜率(方向)。 Hermite 插值假定您知道实数或 "good" 导数值。

例如,要对 Sin 函数的四分之一进行 Hermite 插值,您可以设置初始 X 值 0、结束 X 值 Pi/2、初始和结束 Y 值 0 和1,导数值 1 和 0。

如果您没有关于导数的先验信息 - 值得使用另一种插值方法,例如 - cubic interpolation splines