SignalUtils.StdDev Method

Overload List

#SignatureDescription
1void StdDev(TMtx SumOfSquares, TMtx Sum, Int32 Averages, TMtx aResult)Return standard deviation in aResult.
2void StdDev(TVec SumOfSquares, TVec Sum, Int32 Averages, TVec aResult)Return standard deviation in aResult.
3Double StdDev(Double SumOfSquares, Double Sum, Int32 Averages)Result = the sample standard deviation from running sums

Overload 1: void StdDev(TMtx SumOfSquares, TMtx Sum, Int32 Averages, TMtx aResult)

Return standard deviation in aResult.

#NameTypeDescription
1SumOfSquaresTMtxsource TMtx
2SumTMtxsource TMtx
3AveragesInt32
4aResultTMtxsource TMtx

Result: stored in self (calling object)

Overload 2: void StdDev(TVec SumOfSquares, TVec Sum, Int32 Averages, TVec aResult)

Return standard deviation in aResult.

#NameTypeDescription
1SumOfSquaresTVecsource TVec
2SumTVecsource TVec
3AveragesInt32
4aResultTVecsource TVec

Result: stored in self (calling object)

Overload 3: Double StdDev(Double SumOfSquares, Double Sum, Int32 Averages)

Compute the sample standard deviation from running sums.

#NameDescription
1SumOfSquaresThe accumulated sum of squares sum x_i^2.
2SumThe accumulated sum sum x_i.
3AveragesThe sample count n, which must satisfy n>1.

Returns: Double - 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.