Rbf#
- class scipy.interpolate.Rbf(*args, **kwargs)[源代码][源代码]#
一个用于从 N-D 散点数据到 M-D 域的径向基函数插值的类。
传统
此类被视为遗留类,将不再接收更新。这也可能意味着它将在未来的 SciPy 版本中被移除。
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)
如果是可调用的,那么它必须接受两个参数 (self, r)。epsilon 参数将作为 self.epsilon 可用。传递的其他关键字参数也将可用。
- epsilonfloat, 可选
高斯或多重二次函数可调常数 - 默认为节点间近似平均距离(这是一个好的起点)。
- 平滑float, 可选
大于零的值会增加逼近的平滑度。0 用于插值(默认),在这种情况下,函数将始终通过节点点。
- 规范str, 可调用对象, 可选
一个返回两点之间’距离’的函数,输入为位置数组(x, y, z, …),输出为距离数组。例如,默认的’欧几里得’距离,结果是``x1``中每个点到``x2``中每个点的距离矩阵。更多选项,请参阅`scipy.spatial.distances.cdist`的文档。
- 模式str, 可选
插值的模式,可以是 ‘1-D’(默认)或 ‘N-D’。当它是 ‘1-D’ 时,数据 d 将被视为 1-D 并在内部展平。当它是 ‘N-D’ 时,数据 d 被假定为形状为 (n_samples, m) 的数组,其中 m 是目标域的维度。
- 属性:
- N整数
数据点的数量(由输入数组决定)。
- dindarray
在每个数据坐标 xi 处的一维数据值数组。
- xindarray
数据坐标的二维数组。
- 函数字符串或可调用对象
径向基函数。参见参数下的描述。
- epsilon浮动
高斯或多重二次函数使用的参数。参见参数。
- 平滑浮动
平滑参数。参见参数下的描述。
- 规范字符串或可调用对象
距离函数。参见参数下的描述。
- 模式str
插值的模式。参见参数下的描述。
- 节点ndarray
用于插值的节点值的一维数组。
- A内部属性,请勿使用
方法
__call__(*args)作为函数调用自身。
示例
>>> 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,)