scipy.interpolate.

Rbf#

класс scipy.interpolate.Rbf(*args, **kwargs)[источник]#

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

Наследие

Этот класс считается устаревшим и больше не будет получать обновления. Хотя в настоящее время у нас нет планов по его удалению, мы рекомендуем использовать более современные альтернативы в новом коде. Rbf является устаревшим кодом, для нового использования используйте RBFInterpolator вместо этого.

Параметры:
*argsмассивы

x, y, z, …, d, где x, y, z, … — координаты узлов, а d — массив значений в узлах

функцияstr или callable, опционально

Радиальная базисная функция, основанная на радиусе r, заданном нормой (по умолчанию евклидово расстояние); по умолчанию ‘multiquadric’:

'multiquadric': sqrt((r/self.epsilon)**2 + 1)
'inverse': 1.0/sqrt((r/self.epsilon)**2 + 1)
'gaussian': exp(-(r/self.epsilon)**2)
'linear': r
'cubic': r**3
'quintic': r**5
'thin_plate': r**2 * log(r)

Если вызываемый, то он должен принимать 2 аргумента (self, r). Параметр epsilon будет доступен как self.epsilon. Другие ключевые аргументы, переданные внутрь, также будут доступны.

эпсилонfloat, опционально

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

сглаживатьfloat, опционально

Значения больше нуля увеличивают гладкость аппроксимации. 0 используется для интерполяции (по умолчанию), в этом случае функция всегда проходит через узловые точки.

normstr, callable, optional

Функция, возвращающая «расстояние» между двумя точками, с входными данными в виде массивов позиций (x, y, z, …) и выходным массивом расстояний. Например, по умолчанию: 'euclidean', так что результат представляет собой матрицу расстояний от каждой точки в x1 к каждой точке в x2. Для дополнительных опций см. документацию scipy.spatial.distances.cdist.

modestr, optional

Режим интерполяции, может быть '1-D' (по умолчанию) или 'N-D'. Когда он '1-D', данные d будет рассматриваться как 1-D и сглаживаться внутренне. Когда это 'N-D', данные d предполагается массивом формы (n_samples, m), где m — размерность целевой области.

Атрибуты:
Nint

Количество точек данных (определяемое входными массивами).

dindarray

Одномерный массив значений данных в каждой из координат данных xi.

xindarray

Двумерный массив координат данных.

функцияstr или callable

Радиальная базисная функция. См. описание в разделе Parameters.

эпсилонfloat

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

сглаживатьfloat

Параметр сглаживания. См. описание в разделе Параметры.

normstr или callable

Функция расстояния. См. описание в разделе Параметры.

modestr

Режим интерполяции. См. описание в разделе Параметры.

узлыndarray

Одномерный массив значений узлов для интерполяции.

Aвнутреннее свойство, не используйте

Методы

__call__(*args)

Вызвать self как функцию.

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

RBFInterpolator

Примеры

>>> import numpy as np
>>> from scipy.interpolate import Rbf
>>> rng = np.random.default_rng()
>>> x, y, z, d = rng.random((4, 50))
>>> rbfi = Rbf(x, y, z, d)  # radial basis function interpolator instance
>>> xi = yi = zi = np.linspace(0, 1, 20)
>>> di = rbfi(xi, yi, zi)   # interpolated values
>>> di.shape
(20,)