我使用 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)?
是的,如果 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