本文簡要介紹 python 語言中 scipy.interpolate.barycentric_interpolate
的用法。
用法:
scipy.interpolate.barycentric_interpolate(xi, yi, x, axis=0, *, der=0)#
多項式插值的便利函數。
構造一個通過給定點集的多項式,然後計算多項式。出於數值穩定性的原因,此函數不計算多項式的係數。
此函數使用 “barycentric interpolation” 方法,將問題視為有理函數插值的特殊情況。該算法在數值上相當穩定,但即使在精確計算的世界中,除非非常仔細地選擇 x 坐標 - 切比雪夫零點(例如 cos(i*pi/n))是一個不錯的選擇 - 多項式插值本身就是由於Runge現象,非常ill-conditioned進程。
- xi: array_like
多項式應通過的點的 x 坐標的一維數組
- yi: array_like
多項式應通過的點的 y 坐標。
- x: 標量或類似數組
評估插值的一個或多個點。
- der: int 或列表或無,可選
要評估多少個導數,或者對於所有潛在的非零導數為“無”(即,等於點數的數字),或者要評估的導數列表。該數字包括作為 ‘0th’ 導數的函數值。
- axis: 整數,可選
yi 數組中對應於 x 坐標值的軸。
- y: 標量或類似數組
插值。形狀是通過將原始數組中的插值軸替換為 x 的形狀來確定的。
參數 ::
返回 ::
注意:
插值權重的構建是一個相對緩慢的過程。如果你想用相同的 xi(但可能改變 yi 或 x)多次調用它,你應該使用類
BarycentricInterpolator
。這就是這個函數在內部使用的。例子:
我們可以使用重心插值對 2D 觀測數據進行插值:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.interpolate import barycentric_interpolate >>> x_observed = np.linspace(0.0, 10.0, 11) >>> y_observed = np.sin(x_observed) >>> x = np.linspace(min(x_observed), max(x_observed), num=100) >>> y = barycentric_interpolate(x_observed, y_observed, x) >>> plt.plot(x_observed, y_observed, "o", label="observation") >>> plt.plot(x, y, label="barycentric interpolation") >>> plt.legend() >>> plt.show()
相關用法
- Python SciPy interpolate.make_interp_spline用法及代碼示例
- Python SciPy interpolate.krogh_interpolate用法及代碼示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代碼示例
- Python SciPy interpolate.BSpline用法及代碼示例
- Python SciPy interpolate.LSQSphereBivariateSpline用法及代碼示例
- Python SciPy interpolate.griddata用法及代碼示例
- Python SciPy interpolate.splder用法及代碼示例
- Python SciPy interpolate.LinearNDInterpolator用法及代碼示例
- Python SciPy interpolate.PPoly用法及代碼示例
- Python SciPy interpolate.NdBSpline用法及代碼示例
- Python SciPy interpolate.pade用法及代碼示例
- Python SciPy interpolate.RegularGridInterpolator用法及代碼示例
- Python SciPy interpolate.NdPPoly用法及代碼示例
- Python SciPy interpolate.interp2d用法及代碼示例
- Python SciPy interpolate.approximate_taylor_polynomial用法及代碼示例
- Python SciPy interpolate.RectSphereBivariateSpline用法及代碼示例
- Python SciPy interpolate.sproot用法及代碼示例
- Python SciPy interpolate.splantider用法及代碼示例
- Python SciPy interpolate.CloughTocher2DInterpolator用法及代碼示例
- Python SciPy interpolate.interp1d用法及代碼示例
- Python SciPy interpolate.BPoly用法及代碼示例
- Python SciPy interpolate.BarycentricInterpolator用法及代碼示例
- Python SciPy interpolate.splrep用法及代碼示例
- Python SciPy interpolate.make_smoothing_spline用法及代碼示例
- Python SciPy interpolate.Rbf用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.interpolate.barycentric_interpolate。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。