我正在編寫函數,它將使用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