Extension of the Spline class used to construct a spline for noisy data points using an alternate method.

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
[SerializableAttribute]
public class CsSmoothC2 : Spline
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class CsSmoothC2 _
	Inherits Spline
Visual C++
[SerializableAttribute]
public ref class CsSmoothC2 : public Spline

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).

Inheritance Hierarchy

System..::.Object
Imsl.Math..::.Spline
Imsl.Math..::.CsSmoothC2

See Also