newton_interp_1d, a Python code which finds a polynomial interpolant to data using Newton divided differences.
NEWTON_INTERP_1D needs access to the R8LIB libraries. The test code also needs access to the TEST_INTERP code.
The computer code and data files described and made available on this web page are distributed under the MIT license
newton_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.
pwl_interp_1d, a python code which interpolates a set of data using a piecewise linear interpolant.
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, which are based on inverse distance weighting.
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.
The code generates some plots of the data and approximants.