**pwl_interp_1d**,
a Python code which
interpolates a set of data with a piecewise linear function.

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

**pwl_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_2d, a python code which evaluates a piecewise linear interpolant to data defined on a regular 2d grid.

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.

test_interp, a python code which defines a number of test problems for interpolation, provided as a set of (x,y) data.

test_interp_1d, a python code which defines test problems for interpolation of data y(x), depending on a 2d argument.

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.

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

**pwl_interp_1d_test01()** plots the piecewise linear interpolant to
the data.

**pwl_interp_1d_test02()** plots the basis functions to
the data.

- p01_pwl_basis.png
- p02_pwl_basis.png
- p03_pwl_basis.png
- p04_pwl_basis.png
- p05_pwl_basis.png,
- p06_pwl_basis.png
- p07_pwl_basis.png
- p08_pwl_basis.png