nearest_interp_1d, a FORTRAN90 code which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion, creating graphics files for processing by gnuplot().
The code needs the R8LIB library. The test code needs the TEST_INTERP library.
The computer code and data files made available on this web page are distributed under the MIT license
nearest_interp_1d is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
BARYCENTRIC_INTERP_1D, a FORTRAN90 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 FORTRAN90 code which determines the combination of Chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).
gnuplot_test, FORTRAN90 codes which write data and command files so that gnuplot() can create plots.
LAGRANGE_INTERP_1D, a FORTRAN90 code which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i).
NEWTON_INTERP_1D, a FORTRAN90 code which finds a polynomial interpolant to data using Newton divided differences.
PWL_INTERP_1D, a FORTRAN90 code which interpolates a set of data using a piecewise linear function.
R8LIB, a FORTRAN90 code which contains many utility routines using double precision real (R8) arithmetic.
RBF_INTERP_1D, a FORTRAN90 code which defines and evaluates radial basis function (RBF) interpolants to 1D data.
SHEPARD_INTERP_1D, a FORTRAN90 code which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
TEST_INTERP, a FORTRAN90 code which defines a number of test problems for interpolation, provided as a set of (x,y) data.
TEST_INTERP_1D, a FORTRAN90 code which defines test problems for interpolation of data y(x), depending on a 2D argument.
VANDERMONDE_INTERP_1D, a FORTRAN90 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.