uk.ac.starlink.diva.interp
Class CubicSplineInterp

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.CubicSplineInterp
All Implemented Interfaces:
Interpolator

public class CubicSplineInterp
extends LinearInterp

Interpolate values using a natural cubic spline.

Version:
$Id$
Author:
Peter W. Draper

Field Summary
 
Fields inherited from class uk.ac.starlink.diva.interp.AbstractInterpolator
c, decr, x, y
 
Constructor Summary
CubicSplineInterp()
          Create an instance with no coordinates.
CubicSplineInterp(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
 void setCoords(double[] x, double[] y, boolean check)
          Set or reset the coordinates used by this interpolator.
 
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, stepGuess
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CubicSplineInterp

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


CubicSplineInterp

public CubicSplineInterp(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

setCoords

public void setCoords(double[] x,
                      double[] y,
                      boolean check)
Description copied from interface: Interpolator
Set or reset the coordinates used by this interpolator.

Specified by:
setCoords in interface Interpolator
Overrides:
setCoords in class AbstractInterpolator
Parameters:
x - the X coordinates.
y - the Y coordinates.
check - whether to check the monotonic direction (compares 0 and 1 values of x). Use this when you need to preserve the direction temporarily even though the order may currently be switched, but take care to reorder before interpolating.

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.