jax.numpy.interp#

jax.numpy.interp(x, xp, fp, left=None, right=None, period=None)[原始碼]#

一維線性內插。

numpy.interp() 的 JAX 實作。

參數:
  • x (ArrayLike) – 要在其中評估內插值的 x 座標的 N 維陣列。

  • xp (ArrayLike) – 要內插的點的一維排序陣列。

  • fp (ArrayLike) – 形狀為 xp.shape 的陣列,包含與 xp 關聯的函數值。

  • left (ArrayLike | str | None | None) – 指定如何處理點 x < xp[0]。預設值為傳回 fp[0]。如果 left 是純量值,則會傳回此值。如果 left 是字串 "extrapolate",則值將由線性外插法決定。period 如果指定,則忽略 left

  • right (ArrayLike | str | None | None) – 指定如何處理點 x > xp[-1]。預設值為傳回 fp[-1]。如果 right 是純量值,則會傳回此值。如果 right 是字串 "extrapolate",則值將由線性外插法決定。period 如果指定,則忽略 right

  • period (ArrayLike | None | None) – 可選地指定 x 座標的週期,例如用於角度空間中的內插。

傳回:

形狀為 x.shape 的陣列,包含值 x 處的內插函數。

傳回型別:

Array

範例

>>> xp = jnp.arange(10)
>>> fp = 2 * xp
>>> x = jnp.array([0.5, 2.0, 3.5])
>>> interp(x, xp, fp)
Array([1., 4., 7.], dtype=float32)

除非另有指定,否則外插將為常數

>>> x = jnp.array([-10., 10.])
>>> interp(x, xp, fp)
Array([ 0., 18.], dtype=float32)

使用 "extrapolate" 模式進行線性外插

>>> interp(x, xp, fp, left='extrapolate', right='extrapolate')
Array([-20.,  20.], dtype=float32)

對於週期性內插,請指定 period

>>> xp = jnp.array([0, jnp.pi / 2, jnp.pi, 3 * jnp.pi / 2])
>>> fp = jnp.sin(xp)
>>> x = 2 * jnp.pi  # note: not in input array
>>> jnp.interp(x, xp, fp, period=2 * jnp.pi)
Array(0., dtype=float32)