**test_interp_1d**,
a Python code which
defines test functions y(x) that may be used to test interpolation algorithms
involving a 1D argument x.

The computer code and data files described and made available on this web page are distributed under the MIT license

**test_interp_1d** is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.

BARYCENTRIC_INTERP_1D, a Python code which defines and evaluates the barycentric Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i). The barycentric approach means that very high degree polynomials can safely be used.

CHEBYSHEV_INTERP_1D, a Python code which determines the combination of Chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).

LAGRANGE_INTERP_1D, a Python code which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i).

NEAREST_INTERP_1D, a Python code which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion.

NEWTON_INTERP_1D, a Python code which finds a polynomial interpolant to data using Newton divided differences.

PWL_INTERP_1D, a Python code which interpolates a set of data using a piecewise linear function.

RBF_INTERP_1D, a Python code which defines and evaluates radial basis function (RBF) interpolants to 1D data.

SHEPARD_INTERP_1D, a Python code which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.

VANDERMONDE_INTERP_1D, a Python code which finds a polynomial interpolant to data y(x) of a 1D argument, by setting up and solving a linear system for the polynomial coefficients, involving the Vandermonde matrix.

- test_interp_1d.py, the source code.
- test_interp_1d.sh, runs all the tests.
- test_interp_1d.txt, the output file.

The test plots each function:

- p01_plot.png
- p02_plot.png
- p03_plot.png
- p04_plot.png
- p05_plot.png
- p06_plot.png
- p07_plot.png
- p08_plot.png