SmoothingCubicSplineBasespfit1 Method |
Fits a cubic smoothing spline to data with relative
weighting dy for a given value of the smoothing parameter
rho using an algorithm based on that of C.H.Reinsch (1967),
Numer. Math. 10, 177-183.
The trace of the influence matrix is calculated using an
algorithm developed by M.F.hutchinson and F.R.de Hoog (Numer.
Math., in press), enabling the generalized cross validation
and related statistics to be calculated in order n operations.
The arrays a, c, r and t are assumed to have been initialized
by the subroutine spint. Overflow and underflow problems are
avoided by using p=rho/(1 + rho) and q=1/(1 + rho) instead of
rho and by scaling the differences x[i+1] - x[i] by avh.
the values in df are assumed to have been scaled so that the
sum of their squared values is n. The value in var, when it is
non-negative, is assumed to have been scaled to compensate for
the scaling of the values in df.
The value returned in fun is an estimate of the true mean square
when var is non-negative, and is the generalized cross validation
when var is negative.
Namespace: Altaxo.Calc.InterpolationAssembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax protected static void spfit1(
double[] x,
double avh,
double[] dy,
int n,
double rho,
out double p,
out double q,
out double fun,
double var,
double[] stat,
double[] a,
double[][] C,
int ic,
double[][] R,
double[][] T,
double[] u,
double[] v
)
Parameters
- x Double
- Abscissae values of the data points.
- avh Double
- Scaling parameter for the x-intervals.
- dy Double
[Missing <param name="dy"/> documentation for "M:Altaxo.Calc.Interpolation.SmoothingCubicSplineBase.spfit1(System.Double[],System.Double,System.Double[],System.Int32,System.Double,System.Double@,System.Double@,System.Double@,System.Double,System.Double[],System.Double[],System.Double[][],System.Int32,System.Double[][],System.Double[][],System.Double[],System.Double[])"]
- n Int32
- Number of data points.
- rho Double
- Smooting parameter (0.. Infinity).
- p Double
- Is equal to rho/(1 + rho).
- q Double
- Is equal to 1/(1 + rho).
- fun Double
- Estimate of the true mean square when var is non-negative, and is the generalized cross validation when var is negative.
- var Double
- Variance of the ordinate values of the data points (if known), or a negative value (if unkown).
- stat Double
- Array holding some statistical values on return.
- a Double
- Spline coefficients of order 0, i.e. the ordinate values of the spline (at the same abscissae values as the original data points).
- C Double
- Spline coefficients of order 1, 2 and 3.
- ic Int32
- Number of coefficents of order 1,2 and 3. Is one less the number of data points.
- R Double
- Work array.
- T Double
- Work array.
- u Double
- Work array.
- v Double
- Work array.
See Also