我正在编写函数,它将使用scipy.interpolate函数计算python中的1d插值。使用文档帮助我写了2个不同的函数,用于立方和三次样条插值scipy中二次样条插值和二次样条插值之间的区别
# calculate cubic interpolation
def linear_interpolation(x):
linear = interpolate.interp1d(support_x, support_y, 'cubic')
return linear(x)
# calculate cubic spline interpolation
def cubic_spline_interpolation(x):
tck = interpolate.splrep(support_x, support_y)
return interpolate.splev(x, tck)
我对这里的方法有些困惑。如果我使用interpolate.interp1d(support_x, support_y, 'cubic')
,那么与cubic spline
方法有什么不同? kind = 'quadratic'
和second order spline
之间的区别是什么? ('linear','nearest','zero','slinear','quadratic','cubic','slinear','quadratic'和'cubic'指的是第一个样条插值,二阶或三阶),那么为什么我必须为三次样条函数编写不同的函数,而不是仅仅改变它为kind=cubic