scipy.interpolate.RegularGridInterpolator.

__call__#

RegularGridInterpolator.__call__(xi, method=None, *, nu=None)[source]#

在座標處進行內插。

參數:
xindarray of shape (…, ndim)

用於評估內插器的座標。

methodstr, optional

要執行的內插方法。支援 “linear”、“nearest”、“slinear”、“cubic”、“quintic” 和 “pchip”。預設是在建立內插器時選擇的方法。

nusequence of ints, length ndim, optional

如果不是 None,則是要評估的導數階數。每個條目都必須是非負數。僅允許用於 “slinear”、“cubic” 和 “quintic” 方法。

在 1.13 版本中新增。

回傳值:
values_xndarray, shape xi.shape[:-1] + values.shape[ndim:]

xi 處的內插值。請參閱註解以了解 xi.ndim == 1 時的行為。

註解

xi.ndim == 1 的情況下,新的軸會插入到回傳陣列 values_x 的位置 0,因此其形狀變為 (1,) + values.shape[ndim:]

範例

在這裡,我們定義一個簡單函數的最近鄰內插器

>>> import numpy as np
>>> x, y = np.array([0, 1, 2]), np.array([1, 3, 7])
>>> def f(x, y):
...     return x**2 + y**2
>>> data = f(*np.meshgrid(x, y, indexing='ij', sparse=True))
>>> from scipy.interpolate import RegularGridInterpolator
>>> interp = RegularGridInterpolator((x, y), data, method='nearest')

透過建構,內插器使用最近鄰內插法

>>> interp([[1.5, 1.3], [0.3, 4.5]])
array([2., 9.])

但是,我們可以透過覆寫 method 參數來評估線性內插

>>> interp([[1.5, 1.3], [0.3, 4.5]], method='linear')
array([ 4.7, 24.3])