如何从Scipys SmoothBivariateSpline给出的一组节点和系数计算样条曲线值

时间:2016-12-22 16:42:10

标签: python scipy spline

我正在使用python将样条拟合到我的数据中。然后,我需要能够将一组结和系数导出到C程序以供常规使用。我使用scipy.interpolate.SmoothBivariateSpline来拟合样条曲线,并使用方法get_coeffs()和get_knots()来获得结和系数的副本。

最终我需要重写评估方法(ev()),以便我可以在C环境中使用我的样条曲线。谁能指导我一些关于如何编写这种方法的资源?

1 个答案:

答案 0 :(得分:0)

查看代码,对基于双变量FITPACK的样条线的评估委托给dfitpack.bispevhttps://github.com/scipy/scipy/blob/master/scipy/interpolate/fitpack2.py#L844

后一个函数是一个名为https://github.com/scipy/scipy/blob/master/scipy/interpolate/src/fitpack.pyf#L352的Fortran例程的f2py包装器https://github.com/scipy/scipy/blob/master/scipy/interpolate/fitpack/bispev.f,它调用https://github.com/scipy/scipy/blob/master/scipy/interpolate/fitpack/fpbisp.f

需要注意的是get_knotsget_coefshttps://github.com/scipy/scipy/blob/master/scipy/interpolate/fitpack2.py#L780

处理结尾的确切方法

这一切都可能在Dierckx的书中所有的血腥细节中讨论过。或者可能不是 - 计算程序看起来像de Boor的2D方案的相当简单的推广。魔鬼虽然在细节中。