scipy.interpolate.

SmoothBivariateSpline#

class scipy.interpolate.SmoothBivariateSpline(x, y, z, w=None, bbox=[None, None, None, None], kx=3, ky=3, s=None, eps=1e-16)[source]#

平滑雙變數樣條近似。

參數:
x, y, zarray_like

資料點的一維序列 (順序不重要)。

warray_like, 選擇性

權重的正數一維序列,長度與 xyz 相同。

bboxarray_like, 選擇性

長度為 4 的序列,指定矩形近似域的邊界。預設情況下,bbox=[min(x), max(x), min(y), max(y)]

kx, ky整數, 選擇性

雙變數樣條的次數。預設值為 3。

s浮點數, 選擇性

為估計條件定義的正平滑因子:sum((w[i]*(z[i]-s(x[i], y[i])))**2, axis=0) <= s 預設值 s=len(w),如果 1/w[i]z[i] 標準差的估計值,則這應該是一個好的值。

eps浮點數, 選擇性

用於確定超定線性方程組有效秩的閾值。eps 的值應在開區間 (0, 1) 內,預設值為 1e-16。

另請參閱

BivariateSpline

雙變數樣條的基底類別。

UnivariateSpline

用於擬合給定資料點集的平滑單變數樣條。

LSQBivariateSpline

使用加權最小平方擬合的雙變數樣條

RectSphereBivariateSpline

球體上矩形網格上的雙變數樣條

SmoothSphereBivariateSpline

球座標中的平滑雙變數樣條

LSQSphereBivariateSpline

球座標中使用加權最小平方擬合的雙變數樣條

RectBivariateSpline

矩形網格上的雙變數樣條

bisplrep

用於尋找曲面雙變數 B 樣條表示的函數

bisplev

用於評估雙變數 B 樣條及其導數的函數

註解

xyz 的長度應至少為 (kx+1) * (ky+1)

如果輸入資料的輸入維度具有不可公約的單位,並且相差多個數量級,則內插器可能會出現數值偽影。考慮在內插之前重新縮放資料。

此常式透過 FITPACK 演算法自動建構樣條節點向量。樣條節點可能會放置在遠離資料點的位置。對於某些資料集,即使透過 s=0 參數請求,此常式也可能無法建構內插樣條。在這種情況下,建議直接使用 bisplrep / bisplev,而不是此常式,並且如果需要,請增加 bisplrepnxestnyest 參數的值。

對於線性內插,請優先使用 LinearNDInterpolator。請參閱 https://gist.github.com/ev-br/8544371b40f414b7eaf3fe6217209bff 進行討論。

方法

__call__(x, y[, dx, dy, grid])

在給定位置評估樣條或其導數。

ev(xi, yi[, dx, dy])

在點上評估樣條

get_coeffs()

傳回樣條係數。

get_knots()

傳回一個元組 (tx, ty),其中 tx, ty 分別包含樣條相對於 x、y 變數的節點位置。

get_residual()

傳回樣條近似的平方殘差的加權和:sum ((w[i]*(z[i]-s(x[i],y[i])))**2,axis=0)

integral(xa, xb, ya, yb)

評估樣條在區域 [xa, xb] x [ya, yb] 上的積分。

partial_derivative(dx, dy)

建構一個新的樣條,表示此樣條的偏導數。