File Exchange

image thumbnail

Generation of Random Numbers with Laplace Distribution

version (2.28 KB) by Hristo Zhivomirov
Generation of Laplacian (double exponential) distributed random numbers with mean value mu = 0 and standard deviation sigma = 1.


Updated 21 Jun 2020

View Version History

View License

The present code is a Matlab function that provides a generation of random numbers with Laplace (double exponential) distribution, similarly to built-in Matlab functions “rand” and “randn”. The output of the function is a matrix with Laplacian distributed numbers with mean value mu = 0 and standard deviation sigma = 1. If other values of mu and sigma are a must, then the following form could be used: mu + sigma*randl(m, n).

An example is given in order to clarify the usage of the function. For convenience, the input and output arguments are given in the beginning of the function.

The code is based on the theory described in:

[1] S. Kotz, T. Kozubowski, K. Podgorski. The Laplace Distribution and Generalizations. New York, Springer Science & Business Media, 2001.

Cite As

Hristo Zhivomirov (2021). Generation of Random Numbers with Laplace Distribution (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (5)

Hristo Zhivomirov

Thank you for your comment Mohammad! The appropriate correction will be made in the next update.

Mohammad Karimzadeh

The variance of the samples is 2 not 1.

u1 and u2 are uniform between 0 and 1. then x=log(u1/u2) would be a Laplace distributed random variable with mean zero and variance of 2 (not 1)

Fengping Xu

thank you


haolun zeng

it's very useful

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!