LinearInterpolation
LinearInterpolation performs interpolation within a one dimensional array of data points, y = f(x).
This class contains methods for checking the validity of the entered data.
Cubic Interpolation
CubicInterpolation
CubicInterpolation performs interpolation within a one dimensional array of data points, y = f(x).
This interpolation uses the gradients and cross gradients at all grid points.
This class contains methods for checking the validity of the entered data.
Cubic Spline Interpolation
CubicSpline
Cubic spline interpolation within a one dimensional array of data points, y = f(x).
The default option is a natural spline but the user may override this by entering the limiting first derivatives.
This class also contains a method for returning the interpolated first derivative, ∂y/∂x.
This class contains methods for checking the validity of the entered data.
CubicSplineFast Cubic spline interpolation within a one dimensional array of data points, y = f(x).
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data allowing faster execution.
BiCubic Interpolation
BiCubicInterpolation
BicubicInterpolation performs interpolation within a two dimensional array of data points, y = f(x1,x2).
This interpolation uses the gradients and cross gradients at all grid points.
This class contains methods for checking the validity of the entered data.
BiCubic Spline Interpolation
BiCubicSpline
Bicubic spline interpolation within a two dimensional array of data points, y = f(x1,x2).
The interpolation utilises natural splines.
This class contains methods for checking the validity of the entered data.
BiCubicSplineFast
Bicubic spline interpolation within a two dimensional array of data points, y = f(x1,x2).
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data allowing faster execution.
BiCubicSplineFirstDerivative
Bicubic spline interpolation within a two dimensional array of data points, y = f(x1,x2).
This class also contains a method for returning the interpolated values of the two first derivatives, ∂y/∂x1 and ∂y/∂x2.
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data.
Tricubic Interpolation
TriCubicInterpolation
TricubicInterpolation performs interpolation within a three dimensional array of data points, y = f(x1,x2,x3).
This interpolation uses the gradients and cross gradients at all grid points.
This class contains methods for checking the validity of the entered data.
TriCubic Spline Interpolation
TriCubicSpline
Tricubic spline interpolation within a three dimensional array of data points, y = f(x1,x2,x3).
The interpolation utilises natural splines.
This class contains methods for checking the validity of the entered data.
QuadriCubic Spline Interpolation
QuadriCubicSpline
Quadricubic spline interpolation within a four dimensional array of data points, y = f(x1,x2,x3,x4).
The interpolation utilises natural splines.
This class contains methods for checking the validity of the entered data.
PolyCubic Spline Interpolation
PolyCubicSpline
Multidimensional spline interpolation within a n-dimensional array of data points, y = f(x1,x2,x3 . . . xn).
The interpolation utilises natural splines.
This class contains methods for checking the validity of the entered data.
PolyCubicSplineFast
Multidimensional spline interpolation within a n-dimensional array of data points, y = f(x1,x2,x3 . . . xn).
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data allowing faster execution.
Polyline Simplification
PolylineSimplification
Performs a Douglas-Peucker polyline simplification on two dimensional or three dimensional curves.
Interpolation classes with faster execution times
Three of the interpolation classes have aternative versions in which all the data checking methods have been removed allowing faster execution times. The decrease in execution time may be significant if repeated interpolation within very large data arrays is required. However the user must ensure that all the two dimensional data arrays x-values are in ascending order, that there are no two points with the same x value, that there are adequate numbers of data points and that the x-values of the point for which an interpolated y-value is required lie within the bounds of the supplied data.
Cubic Spline Interpolation
CubicSplineFast Cubic spline interpolation within a one dimensional array of data points, y = f(x).
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data allowing faster execution.
BiCubic Spline Interpolation
BiCubicSplineFast
Bicubic spline interpolation within a two dimensional array of data points, y = f(x1,x2).
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data allowing faster execution.
PolyCubic Spline Interpolation
PolyCubicSplineFast
Multidimensional spline interpolation within a n-dimensional array of data points, y = f(x1,x2,x3 . . . xn).
The interpolation utilises natural splines.
This class does not contain methods for checking the validity of the entered data allowing faster execution.
Interpolation classes also calculating interpolated values of the first derivative
The cubic spline class also contains a method for returning the interpolated values of the first derivative and there is an alternative to the bicubic spline class the also returns the first derivatives.
Cubic Interpolation
CubicInterpolation
CubicInterpolation performs interpolation within a one dimensional array of data points, y = f(x).
This interpolation uses the gradients and cross gradients at all grid points.
This class also contains a method for returning the interpolated values of the derivatives, ∂y/∂x.
Cubic Spline Interpolation
CubicSpline
Cubic spline interpolation within a one dimensional array of data points, y = f(x).
The default option is a natural spline but the user may override this by entering the limiting first derivatives.
This class also contains a method for returning the interpolated first derivative, ∂y/∂x.
This class contains methods for checking the validity of the entered data.
Bicubic Interpolation
BiCubicInterpolation
BicubicInterpolation performs interpolation within a two dimensional array of data points, y = f(x1,x2).
This interpolation uses the gradients and cross gradients at all grid points.
This class also contains a method for returning the interpolated values of the derivatives, ∂y/∂x1, ∂y/∂x2 and ∂2y/∂x1∂x2.
BiCubic Spline Interpolation
BiCubicSplineFirstDerivative
Bicubic spline interpolation within a two dimensional array of data points, y = f(x1,x2).
This class also contains a method for returning the interpolated values of the two first derivatives, ∂y/∂x1 and ∂y/∂x2.
The interpolation utilises natural splines.
Tricubic Interpolation
TriCubicInterpolation
TricubicInterpolation performs interpolation within a three dimensional array of data points, y = f(x1,x2,x3).
This interpolation uses the gradients and cross gradients at all grid points.
This class also contains a method for returning the interpolated values of the derivatives, ∂y/∂x1, ∂y/∂x2 , ∂y/∂x3, ∂2y/∂x1∂x2, ∂2y/∂x1∂x3, ∂2y/∂x2∂x3 and ∂3y/∂x1∂x2∂x1∂x3.
Some related classes
CurveSmooth
This class provides methods for smoothing one dimensonal data, i.e. a curve, and for interpolating within the smoothed data.
SurfaceSmooth
This class provides methods for smoothing two dimensional data, i.e. a surface, and for interpolating within the smoothed data.
ThreeDimensionalSmooth
This class provides methods for smoothing three dimensional data and for interpolating within the smoothed data.
Regression
This class provides methods for fitting a data curve to several models or to a user supplied model.
PERMISSION TO COPY
Permission to use, copy and modify this software and its documentation for NON-COMMERCIAL purposes is granted, without fee, provided that an acknowledgement to the author, Dr Michael Thomas Flanagan at www.ee.ucl.ac.uk/~mflanaga, appears in all copies and associated documentation or publications. Dr Michael Thomas Flanagan makes no representations about the suitability or fitness of the software for any or for a particular purpose. Dr Michael Thomas Flanagan shall not be liable for any damages suffered as a result of using, modifying or distributing this software or its derivatives.
Redistributions of the source code of this class, or parts of the source codes, must retain the copyright notice, this list of conditions and the following disclaimer (all at the top of the source code) and requires written permission from the Michael Thomas Flanagan:
Redistribution in binary form of all or parts of this class must reproduce the copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution and requires written permission from the Michael Thomas Flanagan: .
This page was prepared by Dr Michael Thomas Flanagan