35 std::size_t size = data.size();
40 (std::accumulate(data.begin(),
43 [](
double a,
const DataPoint &b) { return a + b.x; }) /
46 (
sumYTrace(data.begin(), data.end(), 0) / size);
50 for(
size_t i = 0; i < size; i++)
52 sx += std::pow((data[i].
x - x_vec_mean), 2);
53 sxy += (data[i].x - x_vec_mean) * (data[i].y - y_vec_mean);
82 std::size_t size = data.size();
87 for(
size_t i = 0; i < size; i++)
89 sum_square_deviation +=
90 std::pow((data[i].y -
getYfromX(data[i].
x)), 2);
92 return sqrt(sum_square_deviation / (
double)size);
107 std::size_t size = data.size();
110 double meanY =
meanYTrace(data.begin(), data.end());
112 for(
size_t i = 0; i < size; i++)
114 sum_square_deviation +=
115 std::pow((data[i].y -
getYfromX(data[i].
x)), 2);
118 for(
size_t i = 0; i < size; i++)
120 sum_square_total += std::pow((data[i].y - meanY), 2);
122 return ((
double)1.0 - (sum_square_deviation / sum_square_total));