首页 > 解决方案 > 如何在 python 的 scipy 包中绘制从 CubicSpline 方法生成的三次样条曲线?

问题描述

我正在尝试为点之间生成的三次样条生成图

#y-coordinate 
    v_max = [0.07313751514675049,
         0.0931375151467517,
         0.11313751514675259,
         0.13313751514675398,
         0.1531375151467546,
         0.17313751514676343,
         0.19313751514676608,
         0.2131375151467626,
         0.23313751514675923,
         0.2531375151467538]
#x-coodinate
t = [1.0, 3.0, 5.0, 7.0, 9.0, 11.0, 13.0, 15.0, 17.0, 19.0]

我使用 scipy 包中的三次样条插值法进行三次样条插值

cs = CubicSpline(t, v_max, bc_type='natural')

如何获取时间段 np.arange(0, 20, 0.1) 的样条曲线上的点列表?

标签: pythonpython-3.xscipyinterpolationcubic-spline

解决方案


正如您在CubicSpline文档中给出的示例中看到的那样,您可以将三次样条作为一个函数来调用,并提供您想要评估三次样条的坐标作为参数。

cs = CubicSpline(t, v_max, bc_type='natural')

t_interp = np.arange(0, 20, 0.1)
v_interp = cs(t_interp)

变量t_interpv_interp现在都是带有 shape 的 numpy 数组(200,)

插值数据

您的数据可以表示为一条直线,由生成的插值反映。


推荐阅读