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
我发现 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