将Bspline写入分段立方

2024-04-18 10:50:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Scipy的SmoothBivariateSpline类在二元数据上创建一个三次B样条曲线。我现在需要写这个样条曲线的分段多项式表达式。在

我的数学背景不是很强,所以我无法编写自己的算法,将光滑二元样条线的t,c,k输出转换成多项式表示。如果这是可行的,你能提供关于如何处理这个问题的建议吗?我注意到夏比插值.ppform,但我找不到相关文档-这是否相关?在

我考虑的一种方法是将样条曲线的域分解为每个节点处的区域(总区域为(n-1)^2,其中n是节点数),然后对每个区域的样条曲线上的多个点执行三次回归,以计算对每个区域的数据的三次回归。这是有效的方法吗?在

前一种方法似乎要严格得多,所以我宁愿用那个方法,但后一种方法也可以接受。在


Tags: 数据方法算法区域节点表达式数学scipy
1条回答
网友
1楼 · 发布于 2024-04-18 10:50:10

B样条函数可以有效地转化为分段多项式。在

这在scipy0.14.0(将在几个月内发布)中很容易实现,它有scipy.interpolate.PPoly.from_spline。在

从样条曲线t, c, k本身计算分段多项式的算法非常简单,因此在此期间,您可以编写自己的函数来计算多项式系数: https://github.com/scipy/scipy/blob/master/scipy/interpolate/interpolate.py#L938

相关问题 更多 >