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 的形状决定
- 返回类型:
注解
目前,代码计算 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。