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()
../../_images/scipy-interpolate-pchip_interpolate-1.png