Click or drag to resize
CsSmoothC2 Class
Extension of the Spline class used to construct a spline for noisy data points using an alternate method.
Inheritance Hierarchy

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

The CsSmoothC2 type exposes the following members.

Constructors
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 CsSmoothC2 is designed to produce a C^2 cubic spline approximation to a data set in which the function values are noisy. This spline is called a smoothing spline. It is a natural cubic spline with knots at all the data abscissas x, but it does not interpolate the data (x_i, f_i). The smoothing spline S_\sigma is the unique C^2 function that minimizes

\int\limits_a^b
            {s''_\sigma  \left( x \right)^2 dx}

subject to the constraint

\sum\limits_{i=0}^{n-1} {\left| {s_\sigma 
            \left( {x_i } \right) - f_i } \right|} ^2  \le \sigma
.

Recommended values for \sigma depend on the weights, w. If an estimate for the standard deviation of the error in the y-values is availiable, then w_i should be set to this value and the smoothing parameter should be choosen in the confidence interval corresponding to the left side of the above inequality. That is,

n-\sqrt{2n} \le \sigma \le n+\sqrt{2n}
CsSmoothC2 is based on an algorithm of Reinsch (1967). This algorithm is also discussed in de Boor (1978, pages 235-243).

See Also

Reference

Other Resources