Skip to content

Latest commit

 

History

History
37 lines (20 loc) · 2.21 KB

File metadata and controls

37 lines (20 loc) · 2.21 KB

 

 

 

 

 

 

Math code snippet to get the mean and standard deviation of a std::vector.

 


#include <cassert> #include <cmath> #include <vector> //From http://www.richelbilderbeek.nl/CppMeanAndStdDev.htm void MeanAndStdDev(   const std::vector<double>& myVector,   double& mean,   double& stdDev) {   const int size = static_cast<int>(myVector.size());   assert(size>1);   const double dSize = static_cast<double>(size);   mean = 0.0;   double sumX = 0.0;   double sumXsquared = 0.0;   for (int i=0; i!=size; ++i)   {     const double value = myVector[i];     sumX+=value;     sumXsquared+=(value*value);     mean+=value;   }   mean/=dSize;   stdDev = std::sqrt(((dSize*sumXsquared)-(sumX*sumX))/(dSize *(dSize-1.0))); }