# lagrange_interp_1d

lagrange_interp_1d, a MATLAB code which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i).

LAGRANGE_INTERP_1D needs the R8LIB library. The test uses the TEST_INTERP_1D library.

### Languages:

lagrange_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 MATLAB 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 MATLAB code which determines the combination of chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).

divdif, a MATLAB code which uses divided differences to compute the polynomial interpolant to a given set of data.

fem1d_lagrange, a MATLAB 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 MATLAB code which computes the hermite interpolant, a polynomial that matches function values and derivatives.

lagrange_approx_1d, a MATLAB 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_basis_display, a MATLAB code which displays the basis functions associated with a given set of nodes used with the lagrange interpolation scheme.

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

newton_interp_1d, a MATLAB code which finds a polynomial interpolant to data using newton divided differences.

pwl_interp_1d, a MATLAB code which interpolates a set of data using a piecewise linear interpolant.

r8lib, a MATLAB code which contains many utility routines using double precision real (r8) arithmetic.

rbf_interp_1d, a MATLAB code which defines and evaluates radial basis function (rbf) interpolants to 1d data.

shepard_interp_1d, a MATLAB code which defines and evaluates shepard interpolants to 1d data, which are based on inverse distance weighting.

spline, a MATLAB code which constructs and evaluates spline interpolants and approximants.

test_interp_1d, a MATLAB code which defines test problems for interpolation of data y(x), depending on a 2d argument.

vandermonde_interp_1d, a MATLAB code which finds a polynomial interpolant to a function of 1d data by setting up and solving a linear system for the polynomial coefficients, involving the vandermonde matrix.

### Reference:

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.