CloughTocher2DInterpolator#
- class scipy.interpolate.CloughTocher2DInterpolator(points, values, fill_value=nan, tol=1e-06, maxiter=400, rescale=False)#
CloughTocher2DInterpolator(points, values, tol=1e-6)。
2D 中的分段立方、C1 平滑、曲率最小化插值器。
在版本 0.9 中新增。
- 參數:
- points浮點數的 ndarray,形狀為 (npoints, ndims);或 Delaunay
資料點座標的 2-D 陣列,或預先計算的 Delaunay 三角剖分。
- values浮點數或複數的 ndarray,形狀為 (npoints, …)
在 points 的 N-D 資料值陣列。values 沿著第一個軸的長度必須等於 points 的長度。與某些插值器不同,插值軸無法變更。
- fill_value浮點數,選用
用於填補要求的點位於輸入點的凸包外部的值。如果未提供,則預設值為
nan
。- tol浮點數,選用
梯度估算的絕對/相對容忍度。
- maxiter整數,選用
梯度估算中的最大迭代次數。
- rescale布林值,選用
在執行插值之前,將點重新縮放至單位立方體。如果某些輸入維度具有不可比較的單位且相差多個數量級,則這非常有用。
另請參閱
griddata
插值非結構化 D-D 資料。
LinearNDInterpolator
N > 1 維度中的分段線性插值器。
NearestNDInterpolator
N > 1 維度中的最近鄰插值器。
interpn
在規則網格或直線網格上進行插值。
RegularGridInterpolator
在任意維度中的規則或直線網格上的插值器 (
interpn
包裝了此類別)。
註解
插值器是透過使用 Qhull [1] 三角剖分輸入資料,並在每個三角形上建構分段立方插值 Bezier 多項式,使用 Clough-Tocher 方案 [CT] 來建構的。保證插值器是連續可微分的。
選擇插值器的梯度,以便近似最小化插值表面的曲率。估算此梯度時,會使用 [Nielson83] 和 [Renka84] 中描述的全域演算法。
注意
對於規則網格上的資料,請改用
interpn
。參考文獻
[CT]例如,請參閱 P. Alfeld, ‘’用於四面體資料的三變數 Clough-Tocher 方案’’. Computer Aided Geometric Design, 1, 169 (1984); G. Farin, ‘’三角形 Bernstein-Bezier 貼片’’. Computer Aided Geometric Design, 3, 83 (1986)。
[Nielson83]G. Nielson, ‘’一種基於最小範數網路的散佈資料插值方法’’. Math. Comp., 40, 253 (1983)。
[Renka84]R. J. Renka 和 A. K. Cline. ‘’一種基於三角形的 C1 插值方法.’’, Rocky Mountain J. Math., 14, 223 (1984)。
範例
我們可以在 2D 平面上插值
>>> from scipy.interpolate import CloughTocher2DInterpolator >>> import numpy as np >>> import matplotlib.pyplot as plt >>> rng = np.random.default_rng() >>> x = rng.random(10) - 0.5 >>> y = rng.random(10) - 0.5 >>> z = np.hypot(x, y) >>> X = np.linspace(min(x), max(x)) >>> Y = np.linspace(min(y), max(y)) >>> X, Y = np.meshgrid(X, Y) # 2D grid for interpolation >>> interp = CloughTocher2DInterpolator(list(zip(x, y)), z) >>> Z = interp(X, Y) >>> plt.pcolormesh(X, Y, Z, shading='auto') >>> plt.plot(x, y, "ok", label="input point") >>> plt.legend() >>> plt.colorbar() >>> plt.axis("equal") >>> plt.show()
方法
__call__
(xi)在給定點評估插值器。