scipy.interpolate.

pchip_interpolate#

scipy.interpolate.pchip_interpolate(xi, yi, x, der=0, ось=0)[источник]#

Удобная функция для интерполяции pchip.

xi и yi - массивы значений, используемые для аппроксимации некоторой функции f, с yi = f(xi). Интерполянт использует монотонные кубические сплайны для нахождения значения новых точек x и производных в них.

См. scipy.interpolate.PchipInterpolator подробности.

Параметры:
xiarray_like

Отсортированный список x-координат длиной N.

yiarray_like

1-D массив действительных значений. yiдлина вдоль оси интерполяции должна быть равна длине xi. Если N-мерный массив, используйте параметр axis для выбора правильной оси.

xскаляр или array_like

Длины M.

derint или list, опционально

Производные для извлечения. Нулевая производная может быть включена для возврата значения функции.

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

Ось в массиве yi, соответствующая значениям координаты x.

Возвращает:
yскаляр или array_like

Результат длиной R или длиной M или M на R.

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

PchipInterpolator

PCHIP 1-D монотонный кубический интерполятор.

Примеры

Мы можем интерполировать 2D наблюдаемые данные, используя pchip интерполяцию:

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.interpolate import pchip_interpolate
>>> x_observed = np.linspace(0.0, 10.0, 11)
>>> y_observed = np.sin(x_observed)
>>> x = np.linspace(min(x_observed), max(x_observed), num=100)
>>> y = pchip_interpolate(x_observed, y_observed, x)
>>> plt.plot(x_observed, y_observed, "o", label="observation")
>>> plt.plot(x, y, label="pchip interpolation")
>>> plt.legend()
>>> plt.show()
../../_images/scipy-interpolate-pchip_interpolate-1.png