# LAGRANGE_INTERP_1D Polynomial Interpolation in 1D using Lagrange Polynomials

LAGRANGE_INTERP_1D is a MATLAB library 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 FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

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

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

FEM1D_LAGRANGE, a MATLAB library 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, a MATLAB library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.

LAGRANGE_APPROX_1D, a MATLAB library 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 library which displays the basis functions associated with a given set of nodes used with the Lagrange interpolation scheme.

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

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

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

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

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

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

SPLINE, a MATLAB library which constructs and evaluates spline interpolants and approximants.

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

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

### Examples and Tests:

The test code requires the test_interp library for test01, and test_interp_1d for test02 and test03. If these libraries are available in a separate folder at the same "level", then a Matlab command such as "addpath ( '../test_interp')" will make them accessible for a run of the test program.

lagrange_interp_1d_test01() plots the data and Lagrange interpolant for even spacing.

Images for Problem 1:

Images for Problem p02:

Images for problem p03:

Images for problem p04:

Images for problem p05:

Images for problem p06:

Images for problem p07:

Images for problem p08:

lagrange_interp_1d_test02() plots the data and Lagrange interpolant for Chebyshev spacing.

Images for Problem p02:

You can go up one level to the MATLAB source codes.