Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

stddev.cpp

Go to the documentation of this file.
00001 
00002 #include <math.h>
00003 
00004 #include "stddev.h"
00005 
00006 
00010 double stddev::calc_mean_( const double *v, const size_t N )
00011 {
00012   double mean = 0.0;
00013   double sum = 0.0;
00014 
00015   for (size_t i = 0; i < N; i++) {
00016     sum = sum + v[i];
00017   }
00018   mean = sum / static_cast<double>(N);
00019   return mean;
00020 } // calc_mean_
00021 
00022 
00026 double stddev::sd( const double *v, 
00027                    const size_t N, 
00028                    const double mean )
00029 {
00030   double stdDev = 0.0;
00031   mean_ = mean;
00032 
00033   // calculate the standard deviation sum
00034   double stdDevSum = 0;
00035   double x;
00036   for (size_t i = 0; i < N; i++) {
00037     x = v[i] - mean_;
00038     stdDevSum = stdDevSum + (x * x);
00039   }
00040   double variance = stdDevSum / static_cast<double>(N-1);
00041   stdDev = sqrt( variance );  
00042   return stdDev;
00043 } // sd
00044 
00045 
00050 double stddev::sd( const double *v, const size_t N )
00051 {
00052   double stdDev = 0.0;
00053   if (v != 0) {
00054     double mean = calc_mean_(v, N);
00055     stdDev = sd( v, N, mean );
00056   }
00057   return stdDev;
00058 } // sd
00059 

Generated at Tue May 27 21:56:16 2003 for Wavelet compression, determinism and time series forecasting by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001