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])Вычислить сплайн в точках
Вернуть коэффициенты сплайна.
Возвращает кортеж (tx,ty), где tx,ty содержат позиции узлов сплайна относительно переменных x и y соответственно.
Возвращает взвешенную сумму квадратов невязок аппроксимации сплайном: 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для обсуждения.