Я использовал interp1
в matlab с методом 'spline
', есть ли какая-нибудь функция в каких-либо пакетах Python, которая может его заменить?
Я пробовал interp1d
в scipy с kind='cubic'
, но он дает разные результаты с interp1
в matlab с методом 'spline
', хотя и не очень большим.
И я нашел людей, которые говорили, что InterplotationUnivariateSpline
с k=3
совпадает с interp1d с kind='cubic'
, это правда? А как насчет CubicSpline
? В документах они говорят, что результирующий сплайн будет таким же, как возвращаемый splrep
(с s = 0) и InterpolatedUnivariateSpline
, но они также говорят, что он не использует основание B-сплайна как splrep
(с s = 0) и InterpolatedUnivariateSpline
.
Код Matlab:
ppx = interp1(samplez,samplex,'spline','pp');
interpx = ppval(ppx,interpz);
код питона:
from scipy import interpolate
interplinex = interpolate.interp1d(samplez, samplex, kind='cubic')
interpx = interplinex(interpz)
Результат с именем interpx
в Matlab отличается от результата с именем interpx
в python