Go back to Richel Bilderbeek's homepage.
Go back to Richel Bilderbeek's C++ page.
Math code snippet to get the mean and standard deviation of a std::vector.
* View the code of 'MeanAndStdDev' in plain text.
//From http://www.richelbilderbeek.nl/CppMeanAndStdDev.htm
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;
{
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)));
}
Go back to Richel Bilderbeek's C++ page.
Go back to Richel Bilderbeek's homepage.