blob: dfaab173551bb7b16eacf181abc35d0d4f7cc8d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include "utils.h"
#include <QList>
#include <math.h>
double variance(const QList<double> &values)
{
//The variance of a single value is 0
if (values.size() == 1) {
return 0;
}
double mean = 0;
for (auto value : values) {
mean += value;
}
mean = mean / static_cast<double>(values.size());
double variance = 0;
for (auto value : values) {
variance += pow(static_cast<double>(value) - mean, 2);
}
variance = variance / static_cast<double>(values.size() - 1);
return variance;
}
double maxDifference(const QList<double> &values)
{
auto max = values.first();
auto min = values.first();
for (auto value : values) {
if (value > max) {
max = value;
}
if (value < min) {
min = value;
}
}
return max - min;
}
|