pwl_interp_2d_scattered, a MATLAB code which produces a piecewise linear interpolant to 2D scattered data, that is, data that is not guaranteed to lie on a regular grid.

This program computes a Delaunay triangulation of the data points, and then constructs an interpolant triangle by triangle. Over a given triangle, the interpolant is the linear function which matches the data already given at the vertices of the triangle.

PWL_INTERP_2D requires the R8LIB library. The test code requires the TEST_INTERP_2D library.


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


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

Related Data and Programs:

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

pwl_interp_2d, a MATLAB code which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.


rbf_interp_2d, a MATLAB code which defines and evaluates radial basis function (RBF) interpolants to scattered 2D data.

shepard_interp_2d, a MATLAB code which defines and evaluates Shepard interpolants to scattered 2D data, based on inverse distance weighting.

test_interp_2d, a MATLAB code which defines test problems for interpolation of regular or scattered data z(x,y), depending on a 2D argument.

triangulation, a MATLAB code which performs various operations on order 3 (linear) or order 6 (quadratic) triangulations.

triangulation_order3_contour, a MATLAB code which makes contour plot of scattered data, or of data defined on an order 3 triangulation.

vandermonde_interp_2d, a MATLAB code which finds a polynomial interpolant to data z(x,y) of a 2D argument by setting up and solving a linear system for the polynomial coefficients, involving the Vandermonde matrix.


  1. William Press, Brian Flannery, Saul Teukolsky, William Vetterling,
    Numerical Recipes in FORTRAN: The Art of Scientific Computing,
    Third Edition,
    Cambridge University Press, 2007,
    ISBN13: 978-0-521-88068-8,
    LC: QA297.N866.

Source Code:

Last revised on 05 March 2019.