Package smile.interpolation
Class ShepardInterpolation1D
java.lang.Object
smile.interpolation.ShepardInterpolation1D
- All Implemented Interfaces:
Serializable
,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 Summary
ConstructorDescriptionShepardInterpolation1D
(double[] x, double[] y) Constructor.ShepardInterpolation1D
(double[] x, double[] y, double p) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble
interpolate
(double x) Given a value x, return an interpolated value.toString()
-
Constructor Details
-
ShepardInterpolation1D
public ShepardInterpolation1D(double[] x, double[] y) Constructor. By default p = 2.- Parameters:
x
- the tabulated points.y
- the function values atx
.
-
ShepardInterpolation1D
public ShepardInterpolation1D(double[] x, double[] y, double p) Constructor.- Parameters:
x
- the tabulated points.y
- the function values atx
.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 interfaceInterpolation
- Parameters:
x
- a real number.- Returns:
- the interpolated function value.
-
toString
-