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 的形式提供。傳入的其他關鍵字引數也將可用。

epsilonfloat,選用

高斯函數或 multiquadrics 函數的可調整常數 - 預設為節點之間的大約平均距離(這是一個好的開始)。

smoothfloat,選用

大於零的值會增加近似的平滑度。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,)
屬性:
Nint

資料點的數量(由輸入陣列決定)。

dindarray

每個資料座標 xi 處的資料值的一維陣列。

xindarray

資料座標的二維陣列。

functionstr 或可呼叫物件

徑向基底函數。請參閱「參數」下的描述。

epsilonfloat

高斯函數或 multiquadrics 函數使用的參數。請參閱「參數」。

smoothfloat

平滑參數。請參閱「參數」下的描述。

normstr 或可呼叫物件

距離函數。請參閱「參數」下的描述。

modestr

內插模式。請參閱「參數」下的描述。

nodesndarray

用於內插的節點值的一維陣列。

A內部屬性,請勿使用

方法

__call__(*args)

將 self 作為函數呼叫。