scipy.interpolate.

krogh_插值#

scipy.interpolate.krogh_interpolate(xi, yi, x, der=0, axis=0)[源代码][源代码]#

用于多项式插值的便捷函数。

更多详情请参见 KroghInterpolator

参数:
xiarray_like

插值点(已知的 x 坐标)。

array_like

已知的 y 坐标,形状为 (xi.size, R)。解释为长度为 R 的向量,或者当 R=1 时为标量。

xarray_like

要评估导数的点或点。

derint 或 list 或 None, 可选

要计算的导数数量,或者为所有可能非零的导数(即等于点数的数量),或者是一个要计算的导数列表。这个数量包括函数值作为’第0阶’导数。

int, 可选

yi 数组中对应于 x 坐标值的轴。

返回:
dndarray

如果插值器的值是 R-D,则返回的数组将是导数的数量乘以 N 乘以 R。如果 x 是标量,中间维度将被删除;如果 yi 是标量,则最后一个维度将被删除。

参见

KroghInterpolator

Krogh 插值器

注释

构造插值多项式是一个相对昂贵的过程。如果你想重复评估它,考虑使用 KroghInterpolator 类(这是此函数所使用的)。

示例

我们可以使用 Krogh 插值法对 2D 观测数据进行插值:

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.interpolate import krogh_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 = krogh_interpolate(x_observed, y_observed, x)
>>> plt.plot(x_observed, y_observed, "o", label="observation")
>>> plt.plot(x, y, label="krogh interpolation")
>>> plt.legend()
>>> plt.show()
../../_images/scipy-interpolate-krogh_interpolate-1.png