SHEPARD_INTERP_1D
Shepard Interpolation of 1D Data
SHEPARD_INTERP_1D
is a Python library which
defines and evaluates Shepard interpolants to 1D data,
based on inverse distance weighting.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
SHEPARD_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 Python 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 Python library which
determines the combination of Chebyshev polynomials which
interpolates a set of data, so that p(x(i)) = y(i).
LAGRANGE_INTERP_1D,
a Python library which
defines and evaluates the Lagrange polynomial p(x)
which interpolates a set of data, so that p(x(i)) = y(i).
NEAREST_INTERP_1D,
a Python library which
interpolates a set of data using a piecewise constant interpolant
defined by the nearest neighbor criterion.
NEWTON_INTERP_1D,
a Python library which
finds a polynomial interpolant to data using Newton divided differences.
PWL_INTERP_1D,
a Python library which
interpolates a set of data using a piecewise linear interpolant.
RBF_INTERP_1D,
a Python library which
defines and evaluates radial basis function (RBF) interpolants
to 1D data.
TEST_INTERP,
a Python library which
defines a number of test problems for interpolation,
provided as a set of (x,y) data.
TEST_INTERP_1D,
a Python library which
defines test problems for interpolation of data y(x),
depending on a 2D argument.
VANDERMONDE_INTERP_1D,
a Python library 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.
Reference:
-
Richard Franke,
Scattered Data Interpolation: Tests of Some Methods,
Mathematics of Computation,
Volume 38, Number 157, January 1982, pages 181-200.
-
Donald Shepard,
A two-dimensional interpolation function for irregularly spaced data,
ACM '68: Proceedings of the 1968 23rd ACM National Conference,
ACM, pages 517-524, 1969.
Source Code:
-
p00_data.py,
returns the data for any problem.
-
p00_data_num.py,
returns the number of data points for any problem.
-
p00_dim_num.py,
returns the spatial dimension for any problem.
-
p00_prob_num.py,
returns the number of test problems.
-
r8mat_print.py,
prints an R8MAT.
-
r8mat_print_some.py,
prints some of an R8MAT.
-
r8mat_transpose_print.py,
prints an R8MAT, transposed.
-
r8mat_transpose_print_some.py,
prints some of an R8MAT, transposed.
-
r8vec_norm.py,
computes the L2 norm of an R8VEC.
-
r8vec_norm_affine.py,
computes the L2 norm of the difference of two R8VEC's.
-
r8vec_print.py,
prints an R8VEC.
-
r8vec_uniform_01.py,
returns a random value in [0,1].
-
r8vec_uniform_ab.py,
returns a random value in [A,B].
-
shepard_basis_1d.py,
evaluates a Shepard basis function for 1D data.
-
shepard_value_1d.py,
evaluates a Shepard interpolant to 1D data.
-
timestamp.py,
prints the YMDHMS date as a timestamp.
Examples and Tests:
shepard_interp_1d_test01 plots the data and Shepard interpolants.
-
p01_data.png,
the data for problem p01 with a linear interpolant.
-
p01_0.0_shepard.png,
the Shepard interpolant for problem p01 with P = 0.
-
p01_1.0_shepard.png,
the Shepard interpolant for problem p01 with P = 1.
-
p01_2.0_shepard.png,
the Shepard interpolant for problem p01 with P = 2.
-
p01_4.0_shepard.png,
the Shepard interpolant for problem p01 with P = 4.
-
p01_8.0_shepard.png,
the Shepard interpolant for problem p01 with P = 8.
-
p02_data.png,
the data for problem p02 with a linear interpolant.
-
p02_0.0_shepard.png,
the Shepard interpolant for problem p02 with P = 0.
-
p02_1.0_shepard.png,
the Shepard interpolant for problem p02 with P = 1.
-
p02_2.0_shepard.png,
the Shepard interpolant for problem p02 with P = 2.
-
p02_4.0_shepard.png,
the Shepard interpolant for problem p02 with P = 4.
-
p02_8.0_shepard.png,
the Shepard interpolant for problem p02 with P = 8.
-
p03_data.png,
the data for problem p03 with a linear interpolant.
-
p03_0.0_shepard.png,
the Shepard interpolant for problem p03 with P = 0.
-
p03_1.0_shepard.png,
the Shepard interpolant for problem p03 with P = 1.
-
p03_2.0_shepard.png,
the Shepard interpolant for problem p03 with P = 2.
-
p03_4.0_shepard.png,
the Shepard interpolant for problem p03 with P = 4.
-
p03_8.0_shepard.png,
the Shepard interpolant for problem p03 with P = 8.
-
p04_data.png,
the data for problem p04 with a linear interpolant.
-
p04_0.0_shepard.png,
the Shepard interpolant for problem p04 with P = 0.
-
p04_1.0_shepard.png,
the Shepard interpolant for problem p04 with P = 1.
-
p04_2.0_shepard.png,
the Shepard interpolant for problem p04 with P = 2.
-
p04_4.0_shepard.png,
the Shepard interpolant for problem p04 with P = 4.
-
p04_8.0_shepard.png,
the Shepard interpolant for problem p04 with P = 8.
-
p05_data.png,
the data for problem p05 with a linear interpolant.
-
p05_0.0_shepard.png,
the Shepard interpolant for problem p05 with P = 0.
-
p05_1.0_shepard.png,
the Shepard interpolant for problem p05 with P = 1.
-
p05_2.0_shepard.png,
the Shepard interpolant for problem p05 with P = 2.
-
p05_4.0_shepard.png,
the Shepard interpolant for problem p05 with P = 4.
-
p05_8.0_shepard.png,
the Shepard interpolant for problem p05 with P = 8.
-
p06_data.png,
the data for problem p06 with a linear interpolant.
-
p06_0.0_shepard.png,
the Shepard interpolant for problem p06 with P = 0.
-
p06_1.0_shepard.png,
the Shepard interpolant for problem p06 with P = 1.
-
p06_2.0_shepard.png,
the Shepard interpolant for problem p06 with P = 2.
-
p06_4.0_shepard.png,
the Shepard interpolant for problem p06 with P = 4.
-
p06_8.0_shepard.png,
the Shepard interpolant for problem p06 with P = 8.
-
p07_data.png,
the data for problem p07 with a linear interpolant.
-
p07_0.0_shepard.png,
the Shepard interpolant for problem p07 with P = 0.
-
p07_1.0_shepard.png,
the Shepard interpolant for problem p07 with P = 1.
-
p07_2.0_shepard.png,
the Shepard interpolant for problem p07 with P = 2.
-
p07_4.0_shepard.png,
the Shepard interpolant for problem p07 with P = 4.
-
p07_8.0_shepard.png,
the Shepard interpolant for problem p07 with P = 8.
-
p08_data.png,
the data for problem p08 with a linear interpolant.
-
p08_0.0_shepard.png,
the Shepard interpolant for problem p08 with P = 0.
-
p08_1.0_shepard.png,
the Shepard interpolant for problem p08 with P = 1.
-
p08_2.0_shepard.png,
the Shepard interpolant for problem p08 with P = 2.
-
p08_4.0_shepard.png,
the Shepard interpolant for problem p08 with P = 4.
-
p08_8.0_shepard.png,
the Shepard interpolant for problem p08 with P = 8.
You can go up one level to
the Python source codes.
Last modified on 03 July 2015.