interpolate

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

One-dimensional interpolation.

Parameters:
• 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.

Returns:

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

Return type:

array_like

Examples

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

```>>> import numpy as np
>>> x = np.asarray([1.2, 3.4, 4.5, 5.2])
>>> y = np.asarray([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)
```