Generating Exponentially Distributed Random Numbers in MATLAB

For a recent project one of my research students needed to generate exponentially distributed random numbers in MATLAB. The Statistics Toolbox has a built-in function to do this, but I don’t have a license for this toolbox. Below is the code we wrote. It performs a log transformation to convert a uniformly distributed random number between zero and one (rand(1)) to an exponentially distributed random number (tau) drawn from an exponential distribution with mean 1/lambda. Note that in MATLAB, the log function is the natural logarithm. Simple!

tau = -log(rand(1))/lambda;

Leave a Reply

Your email address will not be published.