scipy.interpolate.

Rbf#

class scipy.interpolate.Rbf(*args, **kwargs)[源代码]#

一个用于将 N 维散乱数据插值到 M 维域的函数的径向基函数插值类。

旧版

此类被认为是旧版,将不再接收更新。 虽然我们目前没有计划删除它,但我们建议新代码使用更现代的替代方案。Rbf 是旧版代码,对于新用法,请改用 RBFInterpolator

参数:
*args数组

x, y, z, …, d,其中 x, y, z, … 是节点的坐标,d 是节点处的值的数组

functionstr 或可调用对象,可选

径向基函数,基于半径 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 可用。传入的其他关键字参数也将可用。

epsilon浮点数,可选

用于高斯或多二次函数的调整常量 - 默认为节点之间近似的平均距离(这是一个好的开始)。

smooth浮点数,可选

大于零的值会增加近似的平滑度。0 用于插值(默认),在这种情况下,该函数将始终通过节点。

normstr,可调用对象,可选

一个返回两点之间“距离”的函数,输入为位置数组 (x, y, z, …),输出为距离数组。例如,默认值:“euclidean”,使得结果是从 x1 中的每个点到 x2 中每个点的距离矩阵。有关更多选项,请参阅 scipy.spatial.distances.cdist 的文档。

modestr,可选

插值的模式,可以是“1-D”(默认)或“N-D”。当它是“1-D”时,数据 d 将被视为 1-D 并在内部展平。当它是“N-D”时,假设数据 d 是一个形状为 (n_samples, m) 的数组,其中 m 是目标域的维度。

另请参阅

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,)
属性:
N整数

数据点的数量(由输入数组确定)。

dindarray

每个数据坐标 xi 处的数据值的 1-D 数组。

xindarray

数据坐标的 2-D 数组。

functionstr 或可调用对象

径向基函数。请参阅参数下的描述。

epsilon浮点数

高斯或多二次函数使用的参数。请参阅参数。

smooth浮点数

平滑参数。请参阅参数下的描述。

normstr 或可调用对象

距离函数。请参阅参数下的描述。

modestr

插值的模式。请参阅参数下的描述。

nodesndarray

用于插值的节点值的 1-D 数组。

A内部属性,请勿使用

方法

__call__(*args)

将自身作为函数调用。