# scipy.interpolate.interpn

scipy.interpolate.interpn(points, values, xi, method='linear', bounds_error=True, fill_value=nan)

  Multidimensional interpolation on regular grids.

  Parameters
    points tuple of ndarray of float, with shapes (m1, ), …, (mn, )

      The points defining the regular grid in n dimensions.

    values array_like, shape (m1, …, mn, …)

      The data on the regular grid in n dimensions.

    xi ndarray of shape (…, ndim)

      The coordinates to sample the gridded data at

    method str, optional

      The method of interpolation to perform. Supported are “linear” and “nearest”, and “splinef2d”. “splinef2d” is only supported for 2-dimensional data.

    bounds_error bool, optional

      If True, when interpolated values are requested outside of the domain of the input data, a ValueError is raised. If False, then fill_value is used.

    fill_value number, optional

      If provided, the value to use for points outside of the interpolation domain. If None, values outside the domain are extrapolated. Extrapolation is not supported by method “splinef2d”.

  Returns
    values_x ndarray, shape xi.shape[:-1] + values.shape[ndim:]

      Interpolated values at input coordinates.

  See also

  `NearestNDInterpolator`

    Nearest neighbor interpolation on unstructured data in N dimensions

  `LinearNDInterpolator`

    Piecewise linear interpolant on unstructured data in N dimensions

  `RegularGridInterpolator`

    Linear and nearest-neighbor Interpolation on a regular grid in arbitrary dimensions

  `RectBivariateSpline`

    Bivariate spline approximation over a rectangular mesh

  Notes

  New in version 0.14.

  Examples

  Evaluate a simple example function on the points of a regular 3-D grid:

      >>> from scipy.interpolate import interpn
      >>> def value_func_3d(x, y, z):
      ...     return 2 * x + 3 * y - z
      >>> x = np.linspace(0, 4, 5)
      >>> y = np.linspace(0, 5, 6)
      >>> z = np.linspace(0, 6, 7)
      >>> points = (x, y, z)
      >>> values = value_func_3d(*np.meshgrid(*points, indexing='ij'))

  Evaluate the interpolating function at a point

      >>> point = np.array([2.21, 3.12, 1.15])
      >>> print(interpn(points, values, point))
      [12.63]

scipy.interpolate.interp2d.__call__ scipy.interpolate.RegularGridInterpolator