scipy.interpolate.Rbf¶
- class scipy.interpolate.Rbf(*args, **kwargs)[源代码]¶
从N维散乱数据到M-D域函数的径向基函数插值类。
注解
Rbf
是遗留代码,新用法请使用RBFInterpolator
取而代之的是。- 参数
- *args阵列
x,y,z,.,d,其中x,y,z,.是节点的坐标,d是节点处的值数组
- function字符串或可调用,可选
径向基函数,基于范数给定的半径r(默认值为欧几里得距离);默认值为‘multiquric’:
'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表示插值(默认),在这种情况下,函数将始终通过节点。
- norm字符串,可调用,可选
返回两点之间的“距离”的函数,输入为位置数组(x,y,z,.),输出为距离数组。例如,缺省值:‘欧几里得’,这样结果就是从中的每个点到的距离的矩阵
x1
到…的每一点x2
。有关更多选项,请参阅的文档 scipy.spatial.distances.cdist 。- mode字符串,可选
插值模式,可以是‘1-D’(默认值)或‘N-D’。当它是“1-D”时,数据 d 将被视为一维,并在内部展平。当它是‘N-D’时,数据 d 假设是形状数组(n_sample,m),其中m是目标域的维度。
示例
>>> 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 。
- xindarray
数据坐标的二维数组。
- function字符串或可调用
径向基函数。请参见参数下的说明。
- epsilon浮动
高斯或多二次曲面函数使用的参数。请参见参数。
- smooth浮动
平滑参数。请参见参数下的说明。
- norm字符串或可调用
距离函数。请参见参数下的说明。
- mode应力
插值的模式。请参见参数下的说明。
- nodesndarray
用于插值的节点值的一维数组。
- A内部属性,请不要使用
方法:
__call__
\(*参数)将Self作为函数调用。