JMSLTM Numerical Library 4.0

com.imsl.math
Class CsAkima

java.lang.Object
  extended bycom.imsl.math.Spline
      extended bycom.imsl.math.CsAkima
All Implemented Interfaces:
Cloneable, Serializable

public class CsAkima
extends Spline

Extension of the Spline class to handle the Akima cubic spline.

Class CsAkima computes a C^1 cubic spline interpolant to a set of data points (x_i, f_i) for i = 0, 
  ldots, n-1. The breakpoints of the spline are the abscissas. Endpoint conditions are automatically determined by the program; see Akima (1970) or de Boor (1978).

If the data points arise from the values of a smooth, say C^4, function f, i.e. f_i = f(x_i), then the error will behave in a predictable fashion. Let xi be the breakpoint vector for the above spline interpolant. Then, the maximum absolute error satisfies

left| {f - s} right|_{left[ {xi_0 ,xi_{n-1} } right]} 
      le Cleft| f^{(2)}right|_{[xi_0,xi_{n-1}} 
      left| xi right|^2

where

|xi| ;: = maxlimits_{i = 1,ldots,n-1} |xi_i -xi_{i-1}|

CsAkima is based on a method by Akima (1970) to combat wiggles in the interpolant. The method is nonlinear; and although the interpolant is a piecewise cubic, cubic polynomials are not reproduced. (However, linear polynomials are reproduced.)

See Also:
Example, Serialized Form

Field Summary
 
Fields inherited from class com.imsl.math.Spline
breakPoint, coef, EPSILON_LARGE
 
Constructor Summary
CsAkima(double[] xData, double[] yData)
          Constructs the Akima cubic spline interpolant to the given data points.
 
Methods inherited from class com.imsl.math.Spline
copyAndSortData, copyAndSortData, derivative, derivative, derivative, getBreakpoints, integral, value, value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CsAkima

public CsAkima(double[] xData,
               double[] yData)
Constructs the Akima cubic spline interpolant to the given data points.

Parameters:
xData - a double array containing the x-coordinates of the data. Values must be distinct.
yData - a double array containing the y-coordinates of the data.
Throws:
IllegalArgumentException - This exception is thrown if the arrays xData and yData do not have the same length.

JMSLTM Numerical Library 4.0

Copyright 1970-2006 Visual Numerics, Inc.
Built June 1 2006.