Class ShepardInterpolation1D

java.lang.Object
smile.interpolation.ShepardInterpolation1D
All Implemented Interfaces:
Serializable, Interpolation

public class ShepardInterpolation1D extends Object implements Interpolation
Shepard interpolation is a special case of normalized radial basis function interpolation if the function φ(r) goes to infinity as r → 0, and is finite for r > 0. In this case, the weights wi are just equal to the respective function values yi. So we need not solve linear equations and thus it works for very large N.

An example of such φ is φ(r) = r-p with (typically) 1 < p <= 3.

Shepard interpolation is rarely as accurate as the well-tuned application of other radial basis functions. However, it is simple, fast, and often jut the thing for quick and dirty applications.

See Also:
  • Constructor Details

    • ShepardInterpolation1D

      public ShepardInterpolation1D(double[] x, double[] y)
      Constructor. By default p = 2.
      Parameters:
      x - the tabulated points.
      y - the function values at x.
    • ShepardInterpolation1D

      public ShepardInterpolation1D(double[] x, double[] y, double p)
      Constructor.
      Parameters:
      x - the tabulated points.
      y - the function values at x.
      p - the parameter in the radial basis function φ(r) = r-p.
  • Method Details

    • interpolate

      public double interpolate(double x)
      Description copied from interface: Interpolation
      Given a value x, return an interpolated value.
      Specified by:
      interpolate in interface Interpolation
      Parameters:
      x - a real number.
      Returns:
      the interpolated function value.
    • toString

      public String toString()
      Overrides:
      toString in class Object