Как определить сплайн более высокой степени с помощью python?

Я использую Scipy CubicSpline интерполяция на основе определенного количества точек, как показано на диаграмме ниже:Scipy Кубический сплайн

Моя проблема в том, что вторая производная функции Cubic Splive выглядит немного резко:

Вторая производная

Чтобы сгладить вторую кривую, мне нужна более высокая степень сплайн-интерполяции. Есть ли встроенная функция Scipy (аналогичная CubicSpline) или простой способ сделать это? (Функция b-сплайна требует работы)


person dani_bandita    schedule 17.09.2018    source источник
comment
взгляните на UnivariateSpline, степень может быть установлена ​​до 5   -  person xdze2    schedule 18.09.2018
comment
Ожидание того, что производные сплайна будут выглядеть гладкими, игнорирует тот факт, что сплайны определяются кусочно.   -  person Jon Custer    schedule 18.09.2018
comment
Что ты имеешь в виду? Есть ли лучший способ получить гладкую производную?   -  person dani_bandita    schedule 20.09.2018


Ответы (1)


make_interp_spline должен иметь возможность создавать объекты BSpline более высоких степеней (FITPACK подходит только до k = 5, что жестко закодировано довольно глубоко).

person ev-br    schedule 19.09.2018