//平均值
double getAverage(QVector<double> data) {
return std::accumulate(data.begin(), data.end(), 0.0) / data.size();
}
//最大值
double getMax(QVector<double> data) {
return *std::max_element(std::begin(data), std::end(data));
}
//最小值
double getMin(QVector<double> data) {
return *std::min_element(std::begin(data), std::end(data));
}
//标准差, 也称均方差, 是方差的算术平方根
double getStd(QVector<double> data) {
double mean = getAverage(data);
double accum = 0.0;
std::for_each (std::begin(data), std::end(data), [&](const double d) {
accum += (d-mean) * (d-mean);
});
return sqrt(accum / data.size()); //除以n-1是无偏估计方差, 除以n是概率分布方差, 都行
}
Qt篇——求QVector的平均值、最大值、最小值、标准差(均方差)
于 2023-12-07 10:27:36 首次发布