scipy.interpolate.

splder#

scipy.interpolate.splder(tck, n=1)[источник]#

Вычислить сплайн-представление производной заданного сплайна

Наследие

Эта функция считается устаревшей и больше не будет получать обновления. Хотя в настоящее время у нас нет планов по ее удалению, мы рекомендуем, чтобы новый код использовал более современные альтернативы. В частности, мы рекомендуем создавать BSpline объект и используя его derivative метод.

Параметры:
tckЭкземпляр BSpline или кортеж

экземпляр BSpline или кортеж (t,c,k), содержащий вектор узлов, коэффициенты B-сплайна и степень сплайна, чью производную нужно вычислить

nint, необязательный

Порядок производной для вычисления. По умолчанию: 1

Возвращает:
BSpline экземпляр или кортеж

Сплайн порядка k2=k-n, представляющий производную входного сплайна. Кортеж возвращается, если входной аргумент tck является кортежем, в противном случае строится и возвращается объект BSpline.

Смотрите также

splantider, splev, spalde
BSpline

Примечания

Добавлено в версии 0.13.0.

Примеры

Это можно использовать для нахождения максимумов кривой:

>>> from scipy.interpolate import splrep, splder, sproot
>>> import numpy as np
>>> x = np.linspace(0, 10, 70)
>>> y = np.sin(x)
>>> spl = splrep(x, y, k=4)

Теперь продифференцируем сплайн и найдем нули производной. (Примечание: sproot работает только для сплайнов порядка 3, поэтому мы аппроксимируем сплайн порядка 4):

>>> dspl = splder(spl)
>>> sproot(dspl) / np.pi
array([ 0.50000001,  1.5       ,  2.49999998])

Это хорошо согласуется с корнями \(\pi/2 + n\pi\) of \(\cos(x) = \sin'(x)\).

Сравнение между splev, splder и spalde для вычисления производных B-сплайна можно найти в spalde раздел примеров.