A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::ExponentialVariable Class Reference

Exponentially Distributed random varThis class supports the creation of objects that return random numbers from a fixed exponential distribution. More...

#include <random-variable.h>

+ Inheritance diagram for ns3::ExponentialVariable:
+ Collaboration diagram for ns3::ExponentialVariable:

Public Member Functions

 ExponentialVariable ()
 Constructs an exponential random variable with a mean value of 1.0. More...
 
 ExponentialVariable (double m)
 Constructs an exponential random variable with a specified mean. More...
 
 ExponentialVariable (double m, double b)
 Constructs an exponential random variable with specified mean and upper limit. More...
 
- Public Member Functions inherited from ns3::RandomVariable
 RandomVariable ()
 
 RandomVariable (const RandomVariable &o)
 
 ~RandomVariable ()
 
uint32_t GetInteger (void) const
 Returns a random integer integer from the underlying distribution. More...
 
double GetValue (void) const
 Returns a random double from the underlying distribution. More...
 
RandomVariableoperator= (const RandomVariable &o)
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::RandomVariable
 RandomVariable (const RandomVariableBase &variable)
 
RandomVariableBasePeek (void) const
 

Detailed Description

Exponentially Distributed random var

This class supports the creation of objects that return random numbers from a fixed exponential distribution.

It also supports the generation of single random numbers from various exponential distributions.

The probability density function of an exponential variable is defined over the interval [0, +inf) as: $ \alpha e^{-\alpha x} $ where $ \alpha = \frac{1}{mean} $

The bounded version is defined over the interval [0,b] as: $ \alpha e^{-\alpha x} \quad x \in [0,b] $. Note that in this case the true mean is $ 1/\alpha - b/(e^{\alpha \, b}-1) $

x.GetValue (); //will always return with mean 3.14

Definition at line 242 of file random-variable.h.

Constructor & Destructor Documentation

ns3::ExponentialVariable::ExponentialVariable ( )

Constructs an exponential random variable with a mean value of 1.0.

Definition at line 614 of file random-variable.cc.

References NS_LOG_FUNCTION.

ns3::ExponentialVariable::ExponentialVariable ( double  m)
explicit

Constructs an exponential random variable with a specified mean.

Parameters
mMean value for the random variable

Definition at line 619 of file random-variable.cc.

References NS_LOG_FUNCTION.

ns3::ExponentialVariable::ExponentialVariable ( double  m,
double  b 
)

Constructs an exponential random variable with specified mean and upper limit.

Since exponential distributions can theoretically return unbounded values, it is sometimes useful to specify a fixed upper limit. Note however when the upper limit is specified, the true mean of the distribution is slightly smaller than the mean value specified: $ m - b/(e^{b/m}-1) $.

Parameters
mMean value of the random variable
bUpper bound on returned values

Definition at line 624 of file random-variable.cc.

References NS_LOG_FUNCTION.


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