scipy.interpolate.

bisplrep#

scipy.interpolate.bisplrep(x, y, z, w=None, xb=None, xe=None, yb=None, ye=None, kx=3, ky=3, задача=0, s=None, eps=1e-16, tx=None, тип=None, full_output=0, nxest=None, nyest=None, quiet=1)[источник]#

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

Для заданного набора точек данных (x[i], y[i], z[i]), представляющих поверхность z=f(x,y), вычисляет B-сплайн представление поверхности. Основано на процедуре SURFIT из FITPACK.

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

Ранг-1 массивы точек данных.

wndarray, необязательно

Ранг-1 массив весов. По умолчанию w=np.ones(len(x)).

xb, xefloat, опционально

Конечные точки интервала аппроксимации в x. По умолчанию xb = x.min(), xe=x.max().

yb, yefloat, опционально

Конечные точки интервала аппроксимации в y. По умолчанию yb=y.min(), ye = y.max().

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

Степени сплайна (1 <= kx, ky <= 5). Рекомендуется третий порядок (kx=ky=3).

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

Если task=0, найти узлы в x и y и коэффициенты для заданного коэффициента сглаживания, s. Если task=1, найти узлы и коэффициенты для другого значения коэффициента сглаживания, s. bisplrep должен был быть ранее вызван с task=0 или task=1. Если task=-1, найти коэффициенты для заданного набора узлов tx, ty.

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

Неотрицательный коэффициент сглаживания. Если веса соответствуют обратной величине стандартного отклонения ошибок в z, то хорошее значение s должно находиться в диапазоне (m-sqrt(2*m),m+sqrt(2*m)) где m=len(x).

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

Порог для определения эффективного ранга переопределённой системы линейных уравнений (0 < eps < 1). eps вряд ли потребует изменения.

tx, tyndarray, необязательно

Ранг-1 массивы узлов сплайна для task=-1

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

Ненулевое значение для возврата дополнительных выходных данных.

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

Завышенные оценки общего количества узлов. Если None, то nxest = max(kx+sqrt(m/2),2*kx+3), nyest = max(ky+sqrt(m/2),2*ky+3).

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

Ненулевое значение для подавления вывода сообщений.

Возвращает:
tckarray_like

Список [tx, ty, c, kx, ky], содержащий узлы (tx, ty) и коэффициенты (c) двумерного B-сплайн представления поверхности вместе со степенью сплайна.

fpndarray

Взвешенная сумма квадратов невязок сплайн-аппроксимации.

ierint

Целочисленный флаг об успехе splrep. Успех обозначается, если ier<=0. Если ier в [1,2,3], произошла ошибка, но она не была вызвана. В противном случае вызывается ошибка.

msgstr

Сообщение, соответствующее целочисленному флагу ier.

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

splprep, splrep, splint, sproot, splev
UnivariateSpline, BivariateSpline

Примечания

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

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

Ссылки

[1]

Dierckx P.: Алгоритм аппроксимации поверхности сплайн-функциями Ima J. Numer. Anal. 1 (1981) 267-283.

[2]

Дирккс П.: Алгоритм аппроксимации поверхности сплайн-функциями отчёт tw50, Департамент компьютерных наук, К.У.Лёвен, 1980.

[3]

Dierckx P.:Curve and surface fitting with splines, Monographs on Numerical Analysis, Oxford University Press, 1993.

Примеры

Примеры приведены в учебнике.