我正在使用Scipy的SmoothBivariateSpline类在二元数据上创建一个三次B样条曲线。我现在需要写这个样条曲线的分段多项式表达式。在
我的数学背景不是很强,所以我无法编写自己的算法,将光滑二元样条线的t,c,k输出转换成多项式表示。如果这是可行的,你能提供关于如何处理这个问题的建议吗?我注意到夏比插值.ppform,但我找不到相关文档-这是否相关?在
我考虑的一种方法是将样条曲线的域分解为每个节点处的区域(总区域为(n-1)^2
,其中n
是节点数),然后对每个区域的样条曲线上的多个点执行三次回归,以计算对每个区域的数据的三次回归。这是有效的方法吗?在
前一种方法似乎要严格得多,所以我宁愿用那个方法,但后一种方法也可以接受。在
B样条函数可以有效地转化为分段多项式。在
这在scipy0.14.0(将在几个月内发布)中很容易实现,它有
scipy.interpolate.PPoly.from_spline
。在从样条曲线
t, c, k
本身计算分段多项式的算法非常简单,因此在此期间,您可以编写自己的函数来计算多项式系数: https://github.com/scipy/scipy/blob/master/scipy/interpolate/interpolate.py#L938相关问题 更多 >
编程相关推荐