4

我使用 splprep 从一组点创建了一个 bspline,如下所示:

tck,uout = splprep([x,y],s=0.,k=2,per=False)

现在,我正在尝试使用以下方法评估样条的导数:

dx,dy = splev(uout,tck,der=1)

我发现 splev 返回两个导数列表。

鉴于样条是参数化的(比如在 u 中),它是否返回 dx/du 和 dy/du ?

如果不是如何正确评估导数(dy/dx)?

4

1 回答 1

3

是的,如果 der = 1,则列表是每个点的 dx/du 和 dy/du 的值。那么梯度是 dy/dx = dy/du / dx/du。

我有点担心 splprep 调用:s 是可选的,但如果定义它应该具有与点数大致相同的值(更大意味着更平滑)。per 是一个整数值,而不是布尔值。三次样条比二次样条表现更好。 http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.splprep.html

于 2013-10-13T08:07:54.080 回答