在 Scipy 中使用 splev 计算样条曲线的导数

Ava*_*ara 5 python scipy

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

tck,uout = splprep([x,y],s=0.,k=2,per=False)
Run Code Online (Sandbox Code Playgroud)

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

dx,dy = splev(uout,tck,der=1)
Run Code Online (Sandbox Code Playgroud)

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

鉴于样条线已参数化(例如以 u 表示),它是否返回 dx/du 和 dy/du ?

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

Jam*_*s K 4

是的,如果 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