contains rudimentary statistical functions

Committer:
bclaus
Date:
Mon Feb 25 19:41:26 2013 +0000
Revision:
0:63c55a3cd73c
initial commit of stats library;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bclaus 0:63c55a3cd73c 1
bclaus 0:63c55a3cd73c 2
bclaus 0:63c55a3cd73c 3 #ifndef __NORMSTAT_H
bclaus 0:63c55a3cd73c 4 #define __NORMSTAT_H
bclaus 0:63c55a3cd73c 5 #include "mbed.h"
bclaus 0:63c55a3cd73c 6 #include <cstdlib> // for rand
bclaus 0:63c55a3cd73c 7 #include <cmath> // for atan, sqrt, log, cos
bclaus 0:63c55a3cd73c 8 #include <algorithm> // for generate_n
bclaus 0:63c55a3cd73c 9
bclaus 0:63c55a3cd73c 10 double const pi = 4*std::atan(1.0);
bclaus 0:63c55a3cd73c 11 //double const pi = 3.141592653589793;
bclaus 0:63c55a3cd73c 12
bclaus 0:63c55a3cd73c 13
bclaus 0:63c55a3cd73c 14 // simple function for normal distribution
bclaus 0:63c55a3cd73c 15 double normpdf(double x, double m, double s); //returns f(x|m,s)
bclaus 0:63c55a3cd73c 16
bclaus 0:63c55a3cd73c 17
bclaus 0:63c55a3cd73c 18 //Generates a normally distributed random number
bclaus 0:63c55a3cd73c 19 //taken from http://rosettacode.org/wiki/Random_numbers#C.2B.2B
bclaus 0:63c55a3cd73c 20 //on 21/02/2013
bclaus 0:63c55a3cd73c 21 //by Brian Claus
bclaus 0:63c55a3cd73c 22 class normrand
bclaus 0:63c55a3cd73c 23 {
bclaus 0:63c55a3cd73c 24 public:
bclaus 0:63c55a3cd73c 25 normrand(double m, double s);
bclaus 0:63c55a3cd73c 26
bclaus 0:63c55a3cd73c 27 double draw(); // returns a single normally distributed number
bclaus 0:63c55a3cd73c 28 double draw(double m, double s); // returns a single normally distributed number
bclaus 0:63c55a3cd73c 29
bclaus 0:63c55a3cd73c 30 private:
bclaus 0:63c55a3cd73c 31 double mu, sigma;
bclaus 0:63c55a3cd73c 32 };
bclaus 0:63c55a3cd73c 33 #endif