uk.ac.starlink.diva.interp
Class HermiteSplineInterp

java.lang.Object
  extended by uk.ac.starlink.diva.interp.AbstractInterpolator
      extended by uk.ac.starlink.diva.interp.LinearInterp
          extended by uk.ac.starlink.diva.interp.HermiteSplineInterp
All Implemented Interfaces:
Interpolator

public class HermiteSplineInterp
extends LinearInterp

Spline interpolate a series of points using a scheme based on Hermite polynomials.

Based on the the code from G. Hill, Publ. DAO, vol 16, no. 6 (1982) which uses US Airforce Surveys in Geophysics no. 272 as its source.

The effect is supposed to construct reasonable analytic curves through discrete data points (i.e. like those a human would produce).

Version:
$Id$
Author:
Peter W. Draper

Field Summary
 
Fields inherited from class uk.ac.starlink.diva.interp.AbstractInterpolator
c, decr, x, y
 
Constructor Summary
HermiteSplineInterp()
          Create an instance with no coordinates.
HermiteSplineInterp(double[] x, double[] y)
          Create an instance with the given coordinates.
 
Method Summary
 double interpolate(double xp)
          Return the interpolated value corresponding to some arbitrary X coordinate.
static void main(String[] args)
          Simple test entry point.
 
Methods inherited from class uk.ac.starlink.diva.interp.LinearInterp
guessStep
 
Methods inherited from class uk.ac.starlink.diva.interp.AbstractInterpolator
appendValue, binarySearch, evalYData, evalYDataArray, getCount, getXCoord, getXCoords, getYCoord, getYCoords, isFull, isIncreasing, setCoords, stepGuess
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HermiteSplineInterp

public HermiteSplineInterp()
Create an instance with no coordinates. A call to setCoords must be made before any other methods.


HermiteSplineInterp

public HermiteSplineInterp(double[] x,
                           double[] y)
Create an instance with the given coordinates. Interpolation is by X coordinate see the interpolate method. The X coordinates should be monotonic, either increasing or decreasing. Same value X coordinates are not allowed.

Parameters:
x - the X coordinates.
y - the Y coordinates.
Method Detail

interpolate

public double interpolate(double xp)
Description copied from interface: Interpolator
Return the interpolated value corresponding to some arbitrary X coordinate.

Specified by:
interpolate in interface Interpolator
Overrides:
interpolate in class LinearInterp
Parameters:
xp - the X coordinate at which an interpolated Y coordinate is required.
Returns:
the interpolated value.

main

public static void main(String[] args)
Simple test entry point.



Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.