test_interp_1d


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

The code requires access to a compiled copy of the R8LIB library.

Licensing:

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

Languages:

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.

Related Data and Programs:

BARYCENTRIC_INTERP_1D, a C 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.

BERNSTEIN_POLYNOMIAL, a C code which evaluates the Bernstein polynomials, useful for uniform approximation of functions;

CHEBYSHEV_INTERP_1D, a C 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 C 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 C code which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion.

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

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

R8LIB, a C code which contains many utility routines using double precision real (R8) arithmetic.

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

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

test_interp_1d_test

TEST_INTERP_2D, a C code which defines test problems for interpolation of data z(x,y), depending on a 2D argument.

TEST_INTERP_ND, a C code which defines test problems for interpolation of data z(x), depending on an M-dimensional argument.

VANDERMONDE_INTERP_1D, a C 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.

Reference:

  1. Philip Davis,
    Interpolation and Approximation,
    Dover, 1975,
    ISBN: 0-486-62495-1,
    LC: QA221.D33

Source Code:


Last revised on 13 August 2019.