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
|
* \[ mean(pdIn) = \frac{1}{ |pdIn| } \sum_{i=1}^{ |pdIn| } x_i
|
||||||
* = \frac{area(x)}{ |pdIn| } \]
|
* = \frac{area(x)}{ |pdIn| } \]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (iLen == 0) {
|
||||||
|
_warn("calculateMean: iLen is 0");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return calculateArea(pdIn, iLen) / iLen;
|
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 } \]
|
* \[ 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 mean = calculateMean(pdIn, iLen);
|
||||||
double stdDev = 0;
|
double stdDev = 0;
|
||||||
|
|
||||||
@ -865,10 +876,10 @@ Extrema *initExtrema(double *pdIn, int iLen) {
|
|||||||
* Initializes the features of a MMSignal struct.
|
* Initializes the features of a MMSignal struct.
|
||||||
*/
|
*/
|
||||||
void initMMSignalFeatures(MMSignal *pmmsIn) {
|
void initMMSignalFeatures(MMSignal *pmmsIn) {
|
||||||
pmmsIn->dArea = 0;
|
pmmsIn->dArea = calculateArea(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||||
pmmsIn->dMean = 0;
|
pmmsIn->dMean = calculateMean(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||||
pmmsIn->dStdDev = 0;
|
pmmsIn->dStdDev = calculateStddev(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||||
pmmsIn->dMedian = 0;
|
pmmsIn->dMedian = calculateMedian(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||||
pmmsIn->pexExtrema = initExtrema(pmmsIn->pdValues, pmmsIn->iNumValues);
|
pmmsIn->pexExtrema = initExtrema(pmmsIn->pdValues, pmmsIn->iNumValues);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user