cupyx.scipy.interpolate.KroghInterpolator#

class cupyx.scipy.interpolate.KroghInterpolator(xi, yi, axis=0)[源代码]#

给定点的插值多项式。

该多项式通过所有 (xi, yi) 对。可以额外指定每个点 xi 的若干阶导数;这通过重复值 xi 并将导数指定为连续的 yi 值来实现。允许计算多项式及其所有导数的值。出于数值稳定性的考虑,此函数不计算多项式的系数,尽管可以通过评估所有导数来获取它们。

参数:
  • xi (cupy.ndarray, 长度 N) – x 坐标,必须按升序排序

  • yi (cupy.ndarray) – y 坐标,当一个 xi 连续出现两次或更多次时,对应的 yi 表示导数值

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

方法

__call__(x)[源代码]#

计算插值函数的值

参数:

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

返回值:

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

返回类型:

cupy.ndarray

注意

输入值 x 必须可以转换为 float 值,例如 intfloat

derivative(x, der=1)[源代码]#

在点 x 计算多项式的一阶导数

参数:
  • x (cupy.ndarray) – 要计算导数的点或点集

  • der (integer, 可选) – 要提取的导数阶数。这个数字包含函数值作为 0 阶导数

返回值:

d – 在 x 点处插值的导数。d 的形状由原始数组中的插值轴替换为 x 的形状确定

返回类型:

cupy.ndarray

注意

这是通过计算所有直到所需阶数的导数(使用 self.derivatives())然后丢弃其余部分来实现的。

derivatives(x, der=None)[源代码]#

在点 x 计算多项式的多阶导数。

该函数在点 x 处产生一个包含所有导数值的数组。

参数:
  • x (cupy.ndarray) – 要计算导数的点或点集

  • der (intNone, 可选) – 要提取的导数阶数;None 表示所有可能非零的导数(即等于点数的阶数)。这个数字包含函数值作为 0 阶导数

返回值:

d – 包含导数的数组;d[j] 包含 j 阶导数。d[j] 的形状由原始数组中的插值轴替换为 x 的形状确定

返回类型:

cupy.ndarray

__eq__(value, /)#

返回 self==value。

__ne__(value, /)#

返回 self!=value。

__lt__(value, /)#

返回 self<value。

__le__(value, /)#

返回 self<=value。

__gt__(value, /)#

返回 self>value。

__ge__(value, /)#

返回 self>=value。