Add calculations to initMMSignalFeatures
This commit is contained in:
parent
7acd3a068e
commit
7476f174a3
19
MMS24-25.c
19
MMS24-25.c
@ -646,6 +646,12 @@ double calculateMean(double *pdIn, int iLen) {
|
||||
* \[ mean(pdIn) = \frac{1}{ |pdIn| } \sum_{i=1}^{ |pdIn| } x_i
|
||||
* = \frac{area(x)}{ |pdIn| } \]
|
||||
*/
|
||||
|
||||
if (iLen == 0) {
|
||||
_warn("calculateMean: iLen is 0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
return calculateArea(pdIn, iLen) / iLen;
|
||||
}
|
||||
|
||||
@ -659,6 +665,11 @@ double calculateStddev(double *pdIn, int iLen) {
|
||||
* \[ stddev(pdIn) = \sqrt{ \frac{1}{ |pdIn| } \sum_{i=1}^{ |pdIn| } (x_i - mean(pdIn))^2 } \]
|
||||
*/
|
||||
|
||||
if (iLen == 0) {
|
||||
_warn("calculateStddev: iLen is 0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
double mean = calculateMean(pdIn, iLen);
|
||||
double stdDev = 0;
|
||||
|
||||
@ -865,10 +876,10 @@ Extrema *initExtrema(double *pdIn, int iLen) {
|
||||
* Initializes the features of a MMSignal struct.
|
||||
*/
|
||||
void initMMSignalFeatures(MMSignal *pmmsIn) {
|
||||
pmmsIn->dArea = 0;
|
||||
pmmsIn->dMean = 0;
|
||||
pmmsIn->dStdDev = 0;
|
||||
pmmsIn->dMedian = 0;
|
||||
pmmsIn->dArea = calculateArea(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||
pmmsIn->dMean = calculateMean(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||
pmmsIn->dStdDev = calculateStddev(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||
pmmsIn->dMedian = calculateMedian(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||
pmmsIn->pexExtrema = initExtrema(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user