SignalUtils::StdDev Function

Overload List

#SignatureDescription
1double StdDev(double SumOfSquares, double Sum, int Averages);Compute the sample standard deviation from running sums.
2void StdDev(TVec *SumOfSquares, TVec *Sum, int Averages, TVec *aResult);Return standard deviation in aResult.
3void StdDev(TMtx *SumOfSquares, TMtx *Sum, int Averages, TMtx *aResult);Return standard deviation in aResult.

Overload 1: double StdDev(double SumOfSquares, double Sum, int Averages);

Compute the sample standard deviation from running sums.

#NameTypeDescription
1SumOfSquaresdoubleThe accumulated sum of squares sum x_i^2.
2SumdoubleThe accumulated sum sum x_i.
3AveragesintThe sample count n, which must satisfy n>1.

Returns: The unbiased sample standard deviation sigma.

Remarks:

Returns the unbiased (Bessel-corrected) sample standard deviation computed from the precomputed sum of squares and sum of the samples: sigma = sqrt((n sum x_i^2 - (sum x_i)^2)/(n (n-1)))

                     n*Sum(x^2) - Sum(x)^2
         StdDev = ( ------------------------- )^0.5
                            n*(n-1)

n... number of averages taken
Sum(x^2)... sum of squares of samples
Sum(x)... sum of samples

where n = Averages is the number of samples, sum x_i^2 = SumOfSquares and sum x_i = Sum. The argument n must be greater than 1. When severe cancellation makes the radicand negative (catastrophic loss of precision for large n) the routine raises an exception rather than returning NaN.

Declared in Dew::Signal::Units::SignalUtils · Dew.Signal/Units.SignalUtils.h · Cross-compiler

Overload 2: void StdDev(TVec *SumOfSquares, TVec *Sum, int Averages, TVec *aResult);

Return standard deviation in aResult.

#NameTypeDescription
1SumOfSquaresTVec *
2SumTVec *
3Averagesint
4aResultTVec *
Declared in Dew::Signal::Units::SignalUtils · Dew.Signal/Units.SignalUtils.h · Cross-compiler

Overload 3: void StdDev(TMtx *SumOfSquares, TMtx *Sum, int Averages, TMtx *aResult);

Return standard deviation in aResult.

#NameTypeDescription
1SumOfSquaresTMtx *
2SumTMtx *
3Averagesint
4aResultTMtx *
Declared in Dew::Signal::Units::SignalUtils · Dew.Signal/Units.SignalUtils.h · Cross-compiler