sherpa.utils.interpolate(xout, xin, yin, function=<function linear_interp>)[source] [edit on github]

One-dimensional interpolation.

  • xout (array_like) – The positions at which to interpolate.

  • xin (array_like) – The x values of the data to interpolate. This must be sorted so that it is monotonically increasing.

  • yin (array_like) – The y values of the data to interpolate (must be the same size as xin).

  • function (func, optional) – The function to perform the interpolation. It accepts the arguments (xout, xin, yin) and returns the interpolated values. The default is to use linear interpolation.


yout – The interpolated y values (same size as xout).

Return type



Use linear interpolation to calculate the Y values for the xgrid array:

>>> x = [1.2, 3.4, 4.5, 5.2]
>>> y = [12.2, 14.4, 16.8, 15.5]
>>> xgrid = np.linspace(2, 5, 5)
>>> ygrid = interpolate(xgrid, x, y)

Use Neville’s algorithm for the interpolation:

>>> ygrid = interpolate(xgrid, x, y, neville)