SHEPARD_INTERP_1D
Shepard Interpolation of 1D Data


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

SHEPARD_INTERP_1D needs the R8LIB library. The test code also needs the TEST_INTERP library.

Licensing:

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

Languages:

SHEPARD_INTERP_1D is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

BARYCENTRIC_INTERP_1D, a C++ library 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 C++ library which determines the combination of Chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).

DIVDIF, a C++ library which uses divided differences to compute the polynomial interpolant to a given set of data.

HERMITE, a C++ library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.

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

PWL_INTERP_1D, a C++ library which interpolates a set of data using a piecewise linear interpolant.

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

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

SHEPARD_INTERP_2D, a C++ library which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.

SHEPARD_INTERP_ND, a FORTRAN90 library which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.

TEST_INTERP, a C++ library which defines a number of test problems for interpolation, provided as a set of (x,y) data.

TEST_INTERP_1D, a C++ library which defines test problems for interpolation of data y(x), depending on a 2D argument.

VANDERMONDE_INTERP_1D, a C library 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. Richard Franke,
    Scattered Data Interpolation: Tests of Some Methods,
    Mathematics of Computation,
    Volume 38, Number 157, January 1982, pages 181-200.
  2. Donald Shepard,
    A two-dimensional interpolation function for irregularly spaced data,
    ACM '68: Proceedings of the 1968 23rd ACM National Conference,
    ACM, pages 517-524, 1969.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 15 October 2012.