scipy.interpolate.
pchip_interpolate#
- scipy.interpolate.pchip_interpolate(xi, yi, x, der=0, axis=0)[原始碼]#
pchip 內插的便利函數。
xi 和 yi 是用於近似函數 f 的值陣列,其中
yi = f(xi)
。內插器使用單調三次樣條來尋找新點 x 的值和那裡的導數。詳情請參閱
scipy.interpolate.PchipInterpolator
。- 參數:
- xiarray_like
長度為 N 的排序 x 座標列表。
- yiarray_like
實數值的一維陣列。yi 沿內插軸的長度必須等於 xi 的長度。如果是 N 維陣列,請使用 axis 參數選擇正確的軸。
自 1.13.0 版本起已棄用:複數資料已被棄用,並將在 SciPy 1.15.0 中引發錯誤。如果您嘗試使用傳遞陣列的實數部分,請在 yi 上使用
np.real
。- xscalar 或 array_like
長度為 M。
- derint 或 list,選填
要提取的導數。可以包含第 0 階導數以返回函數值。
- axisint,選填
yi 陣列中對應於 x 座標值的軸。
- 返回:
- yscalar 或 array_like
結果,長度為 R 或長度為 M 或 M 乘 R。
另請參閱
PchipInterpolator
PCHIP 一維單調三次內插器。
範例
我們可以使用 pchip 內插法來內插 2D 觀測資料
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.interpolate import pchip_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 = pchip_interpolate(x_observed, y_observed, x) >>> plt.plot(x_observed, y_observed, "o", label="observation") >>> plt.plot(x, y, label="pchip interpolation") >>> plt.legend() >>> plt.show()