Overload List
| # | Signature | Description |
|---|---|---|
| 1 | double StdDev(double SumOfSquares, double Sum, int Averages); | Compute the sample standard deviation from running sums. |
| 2 | void StdDev(TVec *SumOfSquares, TVec *Sum, int Averages, TVec *aResult); | Return standard deviation in aResult. |
| 3 | void 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.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | SumOfSquares | double | The accumulated sum of squares sum x_i^2. |
| 2 | Sum | double | The accumulated sum sum x_i. |
| 3 | Averages | int | The 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.
Declared in Dew::Signal::Units::SignalUtils · Dew.Signal/Units.SignalUtils.h · Cross-compiler