public class

CubicSplineInterpolator

extends Plottable
java.lang.Object
   ↳ org.rrd4j.data.Plottable
     ↳ org.rrd4j.data.CubicSplineInterpolator

Class Overview

Class used to interpolate datasource values from the collection of (timestamp, values) points using natural cubic spline interpolation.

WARNING: So far, this class cannot handle NaN datasource values (an exception will be thrown by the constructor). Future releases might change this.

Summary

Public Constructors
CubicSplineInterpolator(long[] timestamps, double[] values)
Creates cubic spline interpolator from arrays of timestamps and corresponding datasource values.
CubicSplineInterpolator(Date[] dates, double[] values)
Creates cubic spline interpolator from arrays of Date objects and corresponding datasource values.
CubicSplineInterpolator(Calendar[] dates, double[] values)
Creates cubic spline interpolator from arrays of GregorianCalendar objects and corresponding datasource values.
CubicSplineInterpolator(double[] x, double[] y)
Creates cubic spline interpolator for an array of 2D-points.
Public Methods
double getValue(double xval)
Calculates spline-interpolated y-value for the corresponding x-value.
double getValue(long timestamp)
Method overriden from the base class.
[Expand]
Inherited Methods
From class org.rrd4j.data.Plottable
From class java.lang.Object

Public Constructors

public CubicSplineInterpolator (long[] timestamps, double[] values)

Creates cubic spline interpolator from arrays of timestamps and corresponding datasource values.

Parameters
timestamps timestamps in seconds
values corresponding datasource values
Throws
IllegalArgumentException Thrown if supplied arrays do not contain at least 3 values, or if timestamps are not ordered, or array lengths are not equal, or some datasource value is NaN.

public CubicSplineInterpolator (Date[] dates, double[] values)

Creates cubic spline interpolator from arrays of Date objects and corresponding datasource values.

Parameters
dates Array of Date objects
values corresponding datasource values
Throws
IllegalArgumentException Thrown if supplied arrays do not contain at least 3 values, or if timestamps are not ordered, or array lengths are not equal, or some datasource value is NaN.

public CubicSplineInterpolator (Calendar[] dates, double[] values)

Creates cubic spline interpolator from arrays of GregorianCalendar objects and corresponding datasource values.

Parameters
dates Array of GregorianCalendar objects
values corresponding datasource values
Throws
IllegalArgumentException Thrown if supplied arrays do not contain at least 3 values, or if timestamps are not ordered, or array lengths are not equal, or some datasource value is NaN.

public CubicSplineInterpolator (double[] x, double[] y)

Creates cubic spline interpolator for an array of 2D-points.

Parameters
x x-axis point coordinates
y y-axis point coordinates
Throws
IllegalArgumentException Thrown if supplied arrays do not contain at least 3 values, or if timestamps are not ordered, or array lengths are not equal, or some datasource value is NaN.

Public Methods

public double getValue (double xval)

Calculates spline-interpolated y-value for the corresponding x-value. Call this if you need spline-interpolated values in your code.

Parameters
xval x-value
Returns
  • inteprolated y-value

public double getValue (long timestamp)

Method overriden from the base class. This method will be called by the framework. Call this method only if you need spline-interpolated values in your code.

Parameters
timestamp timestamp in seconds
Returns
  • inteprolated datasource value