C++ - Vector 计算 均值(mean) 和 方差(variance)

C++ - Vector 计算 均值(mean) 和 方差(variance)



代码:

double sum = std::accumulate(std::begin(resultSet), std::end(resultSet), 0.0);  
double mean =  sum / resultSet.size(); //均值  

double accum  = 0.0;  
std::for_each (std::begin(resultSet), std::end(resultSet), [&](const double d) {  
    accum  += (d-mean)*(d-mean);  
});  

double stdev = sqrt(accum/(resultSet.size()-1)); //方差  


std::accumulate 基本用法: std::accumulate

vector<int> vi{1, 2, 3};

cout << accumulate(vi.begin(), vi.end(), 0);    // 6

accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。



头文件:

#include<numeric>

猜你喜欢

转载自blog.csdn.net/missxy_/article/details/80702375