#include <stddev.h>
Public Methods | |
stddev () | |
~stddev () | |
double | mean () |
double | sd (const double *v, const size_t N) |
calculate the standard deviation of N values in v. More... | |
double | sd (const double *v, const size_t N, const double mean) |
calculate the standard deviation, given the mean. More... | |
Private Methods | |
stddev (const stddev &rhs) | |
double | calc_mean_ (const double *v, const size_t N) |
Calculate the arithmetic mean (a.k.a. More... | |
Private Attributes | |
double | mean_ |
You may use this source code without limitation and without fee as long as you include:
This software was written and is copyrighted by Ian Kaplan, Bear Products International, www.bearcave.com, 2001.
This software is provided "as is", without any warranty or claim as to its usefulness. Anyone who uses this source code uses it at their own risk. Nor is any support provided by Ian Kaplan and Bear Products International.
Please send any bug fixes or suggested source changes to:
iank@bearcave.com
Definition at line 35 of file stddev.h.
|
|
|
Definition at line 43 of file stddev.h. 00043 { mean_ = 0;} |
|
Definition at line 44 of file stddev.h. 00044 {} |
|
Calculate the arithmetic mean (a.k.a. average) Definition at line 10 of file stddev.cpp. Referenced by sd().
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_ |
|
Definition at line 46 of file stddev.h. Referenced by main().
00046 { return mean_; } |
|
calculate the standard deviation, given the mean.
Definition at line 26 of file stddev.cpp. 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 |
|
calculate the standard deviation of N values in v. This is a so called "unbiased" estimate of the standard deviation. Definition at line 50 of file stddev.cpp. Referenced by main(), and pdf::pdf_stddev().
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 |
|
|