scipy.interpolate.

SmoothBivariateSpline#

класс scipy.interpolate.SmoothBivariateSpline(x, y, z, w=None, ограничивающая рамка=[None, None, None, None, kx=3, ky=3, s=None, eps=1e-16)[источник]#

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

Параметры:
x, y, zarray_like

1-D последовательности точек данных (порядок не важен).

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

Положительная 1-D последовательность весов, той же длины, что и x, y и z.

ограничивающая рамкаarray_like, необязательный

Последовательность длины 4, задающая границу прямоугольной области аппроксимации. По умолчанию, bbox=[min(x), max(x), min(y), max(y)].

kx, kyints, optional

Степени двумерного сплайна. По умолчанию 3.

sfloat, опционально

Положительный коэффициент сглаживания, определенный для условия оценки: sum((w[i]*(z[i]-s(x[i], y[i])))**2, axis=0) <= s По умолчанию s=len(w) что должно быть хорошим значением, если 1/w[i] является оценкой стандартного отклонения z[i].

epsfloat, опционально

Порог для определения эффективного ранга переопределённой системы линейных уравнений. eps должно иметь значение в открытом интервале (0, 1), по умолчанию равно 1e-16.

Методы

__call__(x, y[, dx, dy, grid])

Вычисление сплайна или его производных в заданных позициях.

ev(xi, yi[, dx, dy])

Вычислить сплайн в точках

get_coeffs()

Вернуть коэффициенты сплайна.

get_knots()

Возвращает кортеж (tx,ty), где tx,ty содержат позиции узлов сплайна относительно переменных x и y соответственно.

get_residual()

Возвращает взвешенную сумму квадратов невязок аппроксимации сплайном: sum ((w[i]*(z[i]-s(x[i],y[i])))**2,axis=0)

integral(xa, xb, ya, yb)

Вычислить интеграл сплайна по области [xa,xb] x [ya,yb].

partial_derivative(dx, dy)

Построить новый сплайн, представляющий частную производную этого сплайна.

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

BivariateSpline

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

UnivariateSpline

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

LSQBivariateSpline

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

RectSphereBivariateSpline

двумерный сплайн по прямоугольной сетке на сфере

SmoothSphereBivariateSpline

сглаживающий двумерный сплайн в сферических координатах

LSQSphereBivariateSpline

двумерный сплайн в сферических координатах с использованием взвешенного метода наименьших квадратов

RectBivariateSpline

двумерный сплайн на прямоугольной сетке

bisplrep

функция для нахождения бивариантного B-сплайнового представления поверхности

bisplev

функция для вычисления двумерного B-сплайна и его производных

Примечания

Длина x, y и z должно быть не менее (kx+1) * (ky+1).

Если входные данные таковы, что размерности входных данных имеют несопоставимые единицы измерения и различаются на много порядков величины, интерполянт может иметь числовые артефакты. Рассмотрите возможность масштабирования данных перед интерполяцией.

Эта процедура автоматически строит векторы узлов сплайна с помощью алгоритма FITPACK. Узлы сплайна могут располагаться вдали от точек данных. Для некоторых наборов данных эта процедура может не построить интерполяционный сплайн, даже если он запрошен через s=0 параметр. В таких ситуациях рекомендуется использовать bisplrep / bisplev напрямую вместо этой процедуры и, при необходимости, увеличить значения nxest и nyest параметры bisplrep.

Для линейной интерполяции предпочтительнее LinearNDInterpolator. См. https://gist.github.com/ev-br/8544371b40f414b7eaf3fe6217209bff для обсуждения.