Algorithms_in_C++ 1.0.0
Set of algorithms implemented in C++.
Loading...
Searching...
No Matches
statistics::stats_computer2< T > Class Template Reference

Public Member Functions

void new_val (T x)
 
double mean () const
 
double variance () const
 
double std () const
 

Private Attributes

unsigned int n = 0
 
double mu = 0
 
double var = 0
 
double M = 0
 

Friends

std::istreamoperator>> (std::istream &input, stats_computer2 &stat)
 

Detailed Description

template<typename T>
class statistics::stats_computer2< T >

continuous mean and variance computance using Welford's algorithm (very accurate)

Member Function Documentation

◆ mean()

template<typename T >
double statistics::stats_computer2< T >::mean ( ) const
inline

return sample mean computed till last sample

86{ return mu; }

◆ new_val()

template<typename T >
void statistics::stats_computer2< T >::new_val ( T x)
inline

Constructor

Parameters
[in]xnew data sample
77 {
78 n++;
79 double delta = x - mu;
80 mu += delta / n;
81 double delta2 = x - mu;
82 M += delta * delta2;
83 }

◆ std()

template<typename T >
double statistics::stats_computer2< T >::std ( ) const
inline

return sample standard deviation computed till last sample

92{ return std::sqrt(this->variance()); }
double variance() const
Definition realtime_stats.cpp:89
T sqrt(T... args)
Here is the call graph for this function:

◆ variance()

template<typename T >
double statistics::stats_computer2< T >::variance ( ) const
inline

return data variance computed till last sample

89{ return M / n; }

Friends And Related Symbol Documentation

◆ operator>>

template<typename T >
std::istream & operator>> ( std::istream & input,
stats_computer2< T > & stat )
friend

short-hand operator to read new sample from input stream
e.g.: std::cin >> stats1;

98 {
99 T val;
100 input >> val;
101 stat.new_val(val);
102 return input;
103 }
void new_val(T x)
Definition realtime_stats.cpp:77

The documentation for this class was generated from the following file: