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).
The code needs the r8lib() library. The test uses the test_interp_1d() library.
The information on this web page is distributed under the MIT license.
lagrange_interp_1d is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.
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.
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).
divdif, a C++ code which uses divided differences to compute the polynomial interpolant to a given set of data.
fem1d_lagrange, a C++ code which sets up the matrices and vectors associated with the finite element method (FEM) solution of a boundary value problem (BVP) -u''+u=f(x), using Lagrange basis polynomials.
hermite_interpolant, a C++ code which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
lagrange_approx_1d, a C++ code which defines and evaluates the Lagrange polynomial p(x) of degree m which approximates a set of nd data points (x(i),y(i)).
lagrange_interp_2d, a C++ code which defines and evaluates the Lagrange polynomial p(x,y) which interpolates a set of data depending on a 2D argument that was evaluated on a product grid, so that p(x(i),y(j)) = z(i,j).
lagrange_interp_nd, a C++ code which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data depending on a multidimensional argument x that was evaluated on a product grid, so that p(x(i)) = z(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 interpolant.
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.
spline, a C++ code which constructs and evaluates spline interpolants and approximants.
test_interp, a C++ code which defines a number of test problems for interpolation, provided as a set of (x,y) data.
test_interp_1d, a C++ code which defines test problems for interpolation of data y(x), depending on a 2D 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.