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 是目标域的维度。
另请参阅
示例
>>> 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)将自身作为函数调用。