splder#
- scipy.interpolate.splder(tck, n=1)[источник]#
Вычислить сплайн-представление производной заданного сплайна
Наследие
Эта функция считается устаревшей и больше не будет получать обновления. Хотя в настоящее время у нас нет планов по ее удалению, мы рекомендуем, чтобы новый код использовал более современные альтернативы. В частности, мы рекомендуем создавать
BSplineобъект и используя егоderivativeметод.- Параметры:
- tckЭкземпляр BSpline или кортеж
экземпляр BSpline или кортеж (t,c,k), содержащий вектор узлов, коэффициенты B-сплайна и степень сплайна, чью производную нужно вычислить
- nint, необязательный
Порядок производной для вычисления. По умолчанию: 1
- Возвращает:
BSplineэкземпляр или кортежСплайн порядка k2=k-n, представляющий производную входного сплайна. Кортеж возвращается, если входной аргумент tck является кортежем, в противном случае строится и возвращается объект 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раздел примеров.