jburkardt

PWL_INTERP_1D\ Piecewise Linear Interpolation in 1D {#pwl_interp_1d-piecewise-linear-interpolation-in-1d align=”center”} ====================================


PWL_INTERP_1D is a C++ library which interpolates a set of data with a piecewise linear function, creating graphics files for processing by GNUPLOT.

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

Licensing: {#licensing align=”center”}

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

Languages: {#languages align=”center”}

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

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).

GNUPLOT, C++ programs which illustrate the use of the gnuplot graphics program.

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.

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

PWL_APPROX_1D, a C++ library which approximates a set of data using a piecewise linear function.

PWL_INTERP_2D, a C++ library which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.

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_1D, a C++ library which defines and evaluates Shepard interpolants to 1D 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: {#reference align=”center”}

  1. Kendall Atkinson,\ An Introduction to Numerical Analysis,\ Prentice Hall, 1989,\ ISBN: 0471624896,\ LC: QA297.A94.1989.
  2. Philip Davis,\ Interpolation and Approximation,\ Dover, 1975,\ ISBN: 0-486-62495-1,\ LC: QA221.D33
  3. David Kahaner, Cleve Moler, Steven Nash,\ Numerical Methods and Software,\ Prentice Hall, 1989,\ ISBN: 0-13-627258-4,\ LC: TA345.K34.

Source Code: {#source-code align=”center”}

Examples and Tests: {#examples-and-tests align=”center”}

The test program makes data files that can be used by GNUPLOT to create graphics:

List of Routines: {#list-of-routines align=”center”}

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


Last revised on 31 May 2013.