# Class ShepardInterpolation

java.lang.Object
smile.interpolation.ShepardInterpolation

public class ShepardInterpolation extends Object
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 just the thing for quick and dirty applications.

• ## Constructor Summary

Constructors
Constructor
Description
```ShepardInterpolation(double[][] x, double[] y)```
Constructor.
```ShepardInterpolation(double[][] x, double[] y, double p)```
Constructor.
• ## Method Summary

Modifier and Type
Method
Description
`double`
`interpolate(double... x)`
Interpolate the function at given point.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
• ## Constructor Details

• ### ShepardInterpolation

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

public ShepardInterpolation(double[][] x, double[] y, double p)
Constructor.
Parameters:
`x` - the data 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)
Interpolate the function at given point.
Parameters:
`x` - a point.
Returns:
the interpolated function value.
• ### toString

public String toString()
Overrides:
`toString` in class `Object`