test_interp_fun, a MATLAB code which provides the values of certain functions that are useful for testing an interpolation algorithm using a varying number of points.

The related packages TEST_INTERP and TEST_APPROX provide discrete data sets of (x,y) pairs. However, when the convergence rate of an interpolation process is of interest, it is important to be able to sample an underlying but "unknown" function at an increasing number of points. This library provides a few functions which are known to cause problems for certain kinds of interpolation schemes.

The problems available include:

  1. Runge example, f(x) = 1 / ( x * x + 1 ), [-5,5], p01_plot.png;
  2. Bernstein example, f(x) = abs ( x ), [-1,1], p02_plot.png;
  3. The Step function, p03_plot.png;
  4. The Doppler function, p04_plot.png;
  5. The Rabbit Ears function, p05_plot.png;


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


test_interp_fun is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

chebyshev, a MATLAB code which computes the chebyshev interpolant/approximant to a given function over an interval.

divdif, a MATLAB code which includes many routines to construct and evaluate divided difference interpolants.

interp, a MATLAB code which can be used for parameterizing and interpolating data;

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

rbf_interp, a MATLAB code which defines and evaluates radial basis interpolants to multidimensional 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 includes many routines to construct and evaluate spline interpolants and approximants.

test_approx, a MATLAB code which defines test problems for approximation, provided as a set of (x,y) data.

test_interp, a MATLAB code which defines a number of test problems for interpolation, provided as a set of (x,y) data.


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.


  1. Samuel Conte, Carl deBoor,
    Elementary Numerical Analysis,
    Second Edition,
    McGraw Hill, 1972,
    ISBN: 07-012446-4,
    LC: QA297.C65.
  2. Carl deBoor,
    A Practical Guide to Splines,
    Springer, 2001,
    ISBN: 0387953663,
    LC: QA1.A647.v27.

Source Code:

Last revised on 29 March 2019.