Интерполяция (scipy.interpolate)#

Подпакет для функций и объектов, используемых в интерполяции.

См. руководство пользователя для рекомендаций по выбору подпрограммы и других деталей использования.

Одномерная интерполяция#

make_interp_spline(x, y[, k, t, bc_type, ...])

Создать интерполирующий B-сплайн с указанной степенью и граничными условиями.

CubicSpline(x, y[, axis, bc_type, extrapolate])

Кусочно-кубический интерполятор для подгонки значений (C2 гладкий).

PchipInterpolator(x, y[, axis, extrapolate])

PCHIP интерполятор, сохраняющий форму (гладкость C1).

Akima1DInterpolator(x, y[, axis, method, ...])

Интерполятор Акимы "визуально приятный" (гладкость C1).

FloaterHormannInterpolator(points, values, *)

Барицентрический рациональный интерполятор Флотера-Хорманна (C∞ гладкий на вещественной оси).

BarycentricInterpolator(xi[, yi, axis, wi, ...])

Барицентрический интерполятор (Лагранжа с улучшенной стабильностью) (гладкость C∞).

KroghInterpolator(xi, yi[, axis])

Интерполятор Крога (C∞ гладкий).

CubicHermiteSpline(x, y, dydx[, axis, ...])

Кусочно-кубический интерполятор для подгонки значений и первых производных (гладкость C1).

Низкоуровневые структуры данных для одномерной интерполяции:

PPoly(c, x[, extrapolate, axis])

Кусочно-полиномиальная функция в степенном базисе.

BPoly(c, x[, extrapolate, axis])

Кусочно-полиномиальная функция в базисе Бернштейна.

BSpline(t, c, k[, extrapolate, axis])

Одномерный сплайн в базисе B-сплайнов.

Многомерная интерполяция#

Неструктурированные данные

LinearNDInterpolator(points, values[, ...])

Кусочно-линейный интерполятор в N > 1 измерениях.

NearestNDInterpolator(x, y[, rescale, ...])

Интерполятор ближайшего соседа в N > 1 измерениях.

CloughTocher2DInterpolator(points, values[, ...])

Кусочно-кубический, C1-гладкий, минимизирующий кривизну интерполятор в N=2 измерениях.

RBFInterpolator(y, d[, neighbors, ...])

Интерполятор радиальных базисных функций в N ≥ 1 измерениях.

Для данных на сетке:

RegularGridInterpolator(points, values[, ...])

Интерполятор указанного порядка на прямоугольной сетке в N ≥ 1 измерений.

Низкоуровневые структуры данных для полиномов и сплайнов тензорного произведения:

NdPPoly(c, x[, extrapolate])

Кусочно-тензорное произведение полиномов

NdBSpline(t, c, k, *[, extrapolate])

Объект сплайна тензорного произведения.

1-D сплайн-сглаживание и аппроксимация#

make_lsq_spline(x, y, t[, k, w, axis, ...])

Создать сглаживающий B-сплайн, удовлетворяющий критерию наименьших квадратов (LSQ).

make_smoothing_spline(x, y[, w, lam, axis])

Создать сглаживающий B-сплайн, удовлетворяющий критерию обобщённой перекрёстной проверки (GCV).

make_splrep(x, y, *[, w, xb, xe, k, s, t, nest])

Создайте функцию сглаживающего B-сплайна с ограниченной ошибкой, минимизируя скачки производной.

make_splprep(x, *[, w, u, ub, ue, k, s, t, nest])

Создать сглаживающую параметрическую B-сплайн кривую с ограниченной ошибкой, минимизируя скачки производной.

generate_knots(x, y, *[, w, xb, xe, k, s, nest])

Генерировать векторы узлов до тех пор, пока не будет удовлетворён критерий наименьших квадратов (LSQ).

Рациональная аппроксимация#

AAA(x, y, *[, rtol, max_terms, clean_up, ...])

Вещественная или комплексная рациональная аппроксимация AAA.

Интерфейсы к подпрограммам FITPACK для подгонки сплайнов 1D и 2D#

В этом разделе перечислены обёртки для FITPACK функциональность для сглаживающих сплайнов 1D и 2D. В большинстве случаев пользователям лучше использовать высокоуровневые процедуры, перечисленные в предыдущих разделах.

1D сплайны FITPACK#

Этот пакет предоставляет два набора функционально эквивалентных оберток: объектно-ориентированные и функциональные.

Функциональный интерфейс FITPACK:

splrep(x, y[, w, xb, xe, k, task, s, t, ...])

Найти B-сплайн представление одномерной кривой.

splprep(x[, w, u, ub, ue, k, task, s, t, ...])

Найти B-сплайновое представление N-мерной кривой.

splev(x, tck[, der, ext])

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

splint(a, b, tck[, full_output])

Вычисление определённого интеграла B-сплайна между двумя заданными точками.

sproot(tck[, mest])

Найти корни кубического B-сплайна.

spalde(x, tck)

Вычисление B-сплайна и всех его производных в одной точке (или наборе точек) до порядка k (степени сплайна), где 0 — сам сплайн.

splder(tck[, n])

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

splantider(tck[, n])

Вычислить сплайн для первообразной (интеграла) заданного сплайна.

insert(x, tck[, m, per])

Вставить узлы в B-сплайн.

Объектно-ориентированный интерфейс FITPACK:

UnivariateSpline(x, y[, w, bbox, k, s, ext, ...])

Сглаживающий сплайн 1-D, аппроксимирующий заданный набор точек данных.

InterpolatedUnivariateSpline(x, y[, w, ...])

1-D интерполирующий сплайн для заданного набора точек данных.

LSQUnivariateSpline(x, y, t[, w, bbox, k, ...])

1-D сплайн с явными внутренними узлами.

2D FITPACK сплайны#

Для данных на сетке:

RectBivariateSpline(x, y, z[, bbox, kx, ky, ...])

Бивариативная сплайн-аппроксимация по прямоугольной сетке.

RectSphereBivariateSpline(u, v, r[, s, ...])

Бивариативная сплайн-аппроксимация по прямоугольной сетке на сфере.

Для неструктурированных данных (интерфейс ООП):

BivariateSpline()

Базовый класс для двумерных сплайнов.

SmoothBivariateSpline(x, y, z[, w, bbox, ...])

Сглаженная бивариативная сплайн-аппроксимация.

SmoothSphereBivariateSpline(theta, phi, r[, ...])

Сглаженная бивариативная сплайн-аппроксимация в сферических координатах.

LSQBivariateSpline(x, y, z, tx, ty[, w, ...])

#22294

LSQSphereBivariateSpline(theta, phi, r, tt, tp)

Взвешенная аппроксимация бивариативного сплайна методом наименьших квадратов в сферических координатах.

Для неструктурированных данных (функциональный интерфейс):

bisplrep(x, y, z[, w, xb, xe, yb, ye, kx, ...])

Найти бивариативное B-сплайновое представление поверхности.

bisplev(x, y, tck[, dx, dy])

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

Дополнительные инструменты#

lagrange(x, w)

Возвращает интерполяционный полином Лагранжа.

approximate_taylor_polynomial(f, x, degree, ...)

Оценить полином Тейлора f в x с помощью подгонки полинома.

pade(an, m[, n])

Возвращает аппроксимацию Паде для полинома в виде отношения двух полиномов.

interpn(points, values, xi[, method, ...])

Многомерная интерполяция на регулярных или прямоугольных сетках.

griddata(points, values, xi[, method, ...])

Удобная функция для интерполяции неструктурированных данных в нескольких измерениях.

barycentric_interpolate(xi, yi, x[, axis, ...])

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

krogh_interpolate(xi, yi, x[, der, axis])

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

pchip_interpolate(xi, yi, x[, der, axis])

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

Rbf(*args, **kwargs)

Класс для интерполяции функций методом радиальных базисных функций из N-мерных разрозненных данных в M-мерную область (устаревший).

interp1d(x, y[, kind, axis, copy, ...])

Интерполяция одномерной функции (устаревшая).

interp2d(x, y, z[, kind, copy, ...])

Класс для 2D интерполяции (устарел и удалён)