本文簡要介紹 python 語言中 scipy.interpolate.approximate_taylor_polynomial
的用法。
用法:
scipy.interpolate.approximate_taylor_polynomial(f, x, degree, scale, order=None)#
通過多項式擬合估計 f 在 x 處的泰勒多項式。
- f: 可調用的
尋找泰勒多項式的函數。應該接受 x 值的向量。
- x: 標量
要評估多項式的點。
- degree: int
泰勒多項式的次數
- scale: 標量
用於評估泰勒多項式的區間寬度。分布在如此寬範圍內的函數值用於擬合多項式。必須謹慎選擇。
- order: int 或無,可選
擬合中使用的多項式的階數;f將被評估
order+1
次。如果沒有,使用程度.
- p: poly1d 實例
泰勒多項式(轉換為原點,例如 p(0)=f(x))。
參數 ::
返回 ::
注意:
The appropriate choice of “scale” is a trade-off;太大並且函數與其泰勒多項式的差異太大而無法得到一個好的答案,太小和舍入誤差會壓倒高階項。即使在理想情況下,所使用的算法也會在 30 階左右數值不穩定。
選擇稍大於度數的階數可能會改善高階項。
例子:
我們可以計算各種度數的 sin 函數的泰勒逼近多項式:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.interpolate import approximate_taylor_polynomial >>> x = np.linspace(-10.0, 10.0, num=100) >>> plt.plot(x, np.sin(x), label="sin curve") >>> for degree in np.arange(1, 15, step=2): ... sin_taylor = approximate_taylor_polynomial(np.sin, 0, degree, 1, ... order=degree + 2) ... plt.plot(x, sin_taylor(x), label=f"degree={degree}") >>> plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', ... borderaxespad=0.0, shadow=True) >>> plt.tight_layout() >>> plt.axis([-10, 10, -10, 10]) >>> 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.barycentric_interpolate用法及代碼示例
- Python SciPy interpolate.RegularGridInterpolator用法及代碼示例
- Python SciPy interpolate.NdPPoly用法及代碼示例
- Python SciPy interpolate.interp2d用法及代碼示例
- 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.approximate_taylor_polynomial。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。