Class BicubicInterpolator

java.lang.Object
org.hipparchus.analysis.interpolation.BicubicInterpolator
All Implemented Interfaces:
BivariateGridInterpolator

public class BicubicInterpolator extends Object implements BivariateGridInterpolator
Generates a bicubic interpolating function.

Caveat: Because the interpolation scheme requires that derivatives be specified at the sample points, those are approximated with finite differences (using the 2-points symmetric formulae). Since their values are undefined at the borders of the provided interpolation ranges, the interpolated values will be wrong at the edges of the patch. The interpolate method will return a function that overrides BicubicInterpolatingFunction.isValidPoint(double,double) to indicate points where the interpolation will be inaccurate.

  • Constructor Details

    • BicubicInterpolator

      public BicubicInterpolator()
      Empty constructor.

      This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.

      Since:
      3.0
  • Method Details

    • interpolate

      public BicubicInterpolatingFunction interpolate(double[] xval, double[] yval, double[][] fval) throws MathIllegalArgumentException
      Compute an interpolating function for the dataset.
      Specified by:
      interpolate in interface BivariateGridInterpolator
      Parameters:
      xval - All the x-coordinates of the interpolation points, sorted in increasing order.
      yval - All the y-coordinates of the interpolation points, sorted in increasing order.
      fval - The values of the interpolation points on all the grid knots: fval[i][j] = f(xval[i], yval[j]).
      Returns:
      a function which interpolates the dataset.
      Throws:
      MathIllegalArgumentException - if any of the arrays has zero length.