17得票2回答
使用numpy/scipy的快速B样条算法

我需要在Python中计算bspline曲线。 我研究了scipy.interpolate.splprep和其他几个scipy模块,但找不到能够立即给我所需结果的任何内容。 因此,我编写了自己的模块如下所示。 代码可以正常运行,但速度较慢(测试函数在0.03秒内运行,考虑到我只使用6个控制顶点...

16得票3回答
使用Python进行B样条插值

我希望您能够帮助我将Mathematica中的一个B样条示例用Python复现。 这个Mathematica示例的代码如下: pts = {{0, 0}, {0, 2}, {2, 3}, {4, 0}, {6, 3}, {8, 2}, {8, 0}}; Graphics[{BSplineC...

15得票2回答
R函数bs()(B样条基矩阵)输出的解释

我经常使用 B-Splines 进行回归。到目前为止,我从未需要详细了解 bs 的输出:我只会选择我感兴趣的模型,并用 lm 拟合它。然而,我现在需要在外部(非 R )代码中复现一个B-spline模型。那么,bs 生成的矩阵意味着什么?例如:x <- c(0.0, 11.0, 17.9...

11得票2回答
当使用bs()函数进行样条拟合时,如何解释lm()系数估计?

我正在使用一组点,这些点从(-5,5)到(0,0)和(5,5)形成一个“对称V形”。我使用lm()和bs()函数拟合一个“V形”样条模型: lm(formula = y ~ bs(x, degree = 1, knots = c(0))) 当我通过 predict() 预测结果并绘制预测...

10得票3回答
Python中的scipy BSpline拟合

这是我第一次使用BSpline,我想将曲线拟合到我的数据点上。我尝试过使用Univariate Spline,并尝试使用splev和splrep,但我真的想学习如何使用BSpline来完成这个任务。 看起来我的拟合结果非常粗糙,曲线甚至没有经过数据点。 arraymagU = linspa...

10得票1回答
实现De Boor算法以寻找B样条上的点

我已经花费了几周时间来研究这个问题,但是我的算法仍然无法正常工作,我已经快要放弃了。以下是我所取得的进展的示例: 如果一切正常,我期望看到一个完美的圆形/椭圆形。我的样本点(白色)在每次添加新的控制点(黄色)时重新计算。当有4个控制点时,一切看起来都很完美,当我在第一个控制点上添加第5个...

8得票1回答
使用GNU Scientific Library(GSL)绘制2D B样条路径,使用不均匀间距的点。

我正在尝试使用GNU科学库(GSL)从A到B绘制平滑路径。 我正在使用一个API,该API返回少量(在此情况下为8个)不规则间隔的点(以红色显示),您可以在以下图片中看到: 紫色点表示我希望从GSL返回的点。 首先,使用GSL可以获得这种2D B-Spline形状吗?我对B-Splin...

8得票2回答
B-Spline曲线求导——de Boor算法

维基百科给出了de Boor算法的Python实现: def deBoor(k, x, t, c, p): """ Evaluates S(x). Args ---- k: index of knot interval that contains x...

7得票2回答
Python中的交互式B样条拟合

使用以下函数,可以在输入点P上拟合一个三次样条曲线: def plotCurve(P): pts = np.vstack([P, P[0]]) x, y = pts.T i = np.arange(len(pts)) interp_i = np.linspace(0, i....

7得票1回答
长序列数据的三次样条插值方法?

我有一份按照以下格式排列的串行数据: time milk Animal_ID 30 25.6 1 31 27.2 1 32 24.4 1 33 17.4 1 34 33.6 1 35 25....