Что такое интерполирующая функция Python, которая совпадает со spapi в Matlab?

1

В Matlab я могу использовать функцию spapi интерполяции spapi для генерации сплайновой кривой, так что заданные значения кривых и первых двух производных можно сопоставить. Например:

spapi([0 0 0 0 1 2 2 2 2],[0 1 1 1 2],[2 0 1 2 -1])

это дает уникальный кубический сплайн f на интервале [0..2] с ровно одним внутренним узлом в 1, который удовлетворяет пяти условиям

f (0) = 2, f (1) = 0, f '(1) = 1, f' '(1) = 2, f (2) = - 1

Они включают 3-кратное совпадение на 1, т.е. Сопоставление с заданными значениями функции и ее первых двух производных.

Однако в Python функция scipy.interpolate.splrep(x,y) интерполяции scipy.interpolate.splrep(x,y) не может работать, так как x должно быть монотонным увеличением.

Итак, как я могу получить кривую с заданными значениями и производными значениями? Есть ли какой-либо Python-мольдук или функция?

Большое спасибо!

Теги:
scipy
interpolation
spline

1 ответ

0

scipy.interpolate.BPoly.from_derivatives создает сплайн Эрмита, где вы можете выбрать значения производных:

https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.BPoly.from_derivatives.html

В вашем примере у вас будет два интервала: 0..1 и 1..2.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню