Click or drag to resize
CsShape Class
Extension of the Spline class to interpolate data points consistent with the concavity of the data.
Inheritance Hierarchy

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.2.0
Syntax
[SerializableAttribute]
public class CsShape : Spline

The CsShape type exposes the following members.

Constructors
  NameDescription
Public methodCsShape
Construct a cubic spline interpolant which is consistent with the concavity of the data.
Top
Methods
  NameDescription
Public methodDerivative(Double)
Returns the value of the first derivative of the spline at a point.
(Inherited from Spline.)
Public methodDerivative(Double, Int32)
Returns the value of the derivative of the spline at a point.
(Inherited from Spline.)
Public methodDerivative(Double, Int32)
Returns the value of the derivative of the spline at each point of an array.
(Inherited from Spline.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEval(Double)
Returns the value of the spline at a point.
(Inherited from Spline.)
Public methodEval(Double)
Returns the value of the spline at each point of an array.
(Inherited from Spline.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetBreakpoints
Returns a copy of the breakpoints.
(Inherited from Spline.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIntegral
Returns the value of an integral of the spline.
(Inherited from Spline.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Class CsShape computes a cubic spline interpolant to n data points {x_i, f_i} for i = 0, \ldots, n-1. For ease of explanation, we will assume that x_i \lt x_{i+1}, although it is not necessary for the user to sort these data values. If the data are strictly convex, then the computed spline is convex, C^2, and minimizes the expression

\int_{x_1 }^{x_n } {\left( {g''} \right)} ^2

over all convex C ^1 functions that interpolate the data. In the general case when the data have both convex and concave regions, the convexity of the spline is consistent with the data and the above integral is minimized under the appropriate constraints. For more information on this interpolation scheme, we refer the reader to Micchelli et al. (1985) and Irvine et al. (1986).

One important feature of the splines produced by this class is that it is not possible, a priori, to predict the number of breakpoints of the resulting interpolant. In most cases, there will be breakpoints at places other than data locations. The method is nonlinear; and although the interpolant is a piecewise cubic, cubic polynomials are not reproduced. However, linear polynomials are reproduced.) This routine should be used when it is important to preserve the convex and concave regions implied by the data.

See Also

Reference

Other Resources