我正在使用python将样条拟合到我的数据中。然后,我需要能够将一组结和系数导出到C程序以供常规使用。我使用scipy.interpolate.SmoothBivariateSpline来拟合样条曲线,并使用方法get_coeffs()和get_knots()来获得结和系数的副本。
最终我需要重写评估方法(ev()),以便我可以在C环境中使用我的样条曲线。谁能指导我一些关于如何编写这种方法的资源?
答案 0 :(得分:0)
查看代码,对基于双变量FITPACK的样条线的评估委托给dfitpack.bispev
,
https://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_knots
和get_coefs
,https://github.com/scipy/scipy/blob/master/scipy/interpolate/fitpack2.py#L780
这一切都可能在Dierckx的书中所有的血腥细节中讨论过。或者可能不是 - 计算程序看起来像de Boor的2D方案的相当简单的推广。魔鬼虽然在细节中。