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.
Смотрите также
PchipInterpolatorPCHIP 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()