cupyx.scipy.interpolate.BarycentricInterpolator#

cupyx.scipy.interpolate.BarycentricInterpolator(xi, yi=None, axis=0)[source]#

一组点的插值多项式。

构造一个通过给定点集的多项式。允许计算多项式值,高效更改待插值的 y 值,以及通过添加更多 x 值进行更新。出于数值稳定性的考虑,此函数不计算多项式的系数。yi 值需要在计算函数之前提供,但预处理不依赖于它们,因此可以快速更新。

参数:
  • xi (cupy.ndarray) – 多项式应通过的点的 x 坐标的一维数组

  • yi (cupy.ndarray, 可选) – 多项式应通过的点的 y 坐标。如果为 None,则 y 值稍后通过 set_y 方法提供

  • axis (int, 可选) – yi 数组中与 x 坐标值对应的轴

方法

__call__(x)[source]#

在点 x 处计算插值多项式的值。

参数:

x (cupy.ndarray) – 要计算插值值的点

返回:

y – 插值结果。形状由原始数组中的插值轴替换为 x 的形状决定

返回类型:

cupy.ndarray

注解

目前,代码计算 x 和权重之间的外积,即构造一个大小为 N x len(x) 的中间数组,其中 N 是多项式的次数。

add_xi(xi, yi=None)[source]#

向待插值点集添加更多 x 值。

重心插值算法允许通过添加更多点来轻松更新多项式。

参数:
  • xi (cupy.ndarray) – 多项式应通过的点的 x 坐标

  • yi (cupy.ndarray, 可选) – 多项式应通过的点的 y 坐标。形状应为 (xi.size, R);如果 R > 1,则多项式是向量值。如果未给出 yi,则 y 值稍后提供。yi 仅在插值器指定了 y 值时才应给出。

set_yi(yi, axis=None)[source]#

更新待插值的 y 值。

重心插值算法需要计算权重,但这些权重仅依赖于 xi。yi 可以随时更改。

参数:
  • yi (cupy.ndarray) – 多项式应通过的点的 y 坐标。如果为 None,则 y 值稍后提供。

  • axis (int, 可选) – yi 数组中与 x 坐标值对应的轴

__eq__(value, /)#

返回 self==value。

__ne__(value, /)#

返回 self!=value。

__lt__(value, /)#

返回 self

__le__(value, /)#

返回 self<=value。

__gt__(value, /)#

返回 self>value。

__ge__(value, /)#

返回 self>=value。