Random Laplacian distribution in a specified interval

3 views (last 30 days)
I try to write a function in matlab that generate a Random Laplacian distribution with output values in the range [0 0.5]; Could anyone suggest me how can I do this ? Thank you.

Accepted Answer

Jeff Miller
Jeff Miller on 15 Oct 2021
Here is a quick and dirty way to do this with Cupid:
location = 0; % set whatever Laplacian parameters you want.
scale = 1;
lower_limit = 0; % set whatever boundaries you want
upper_limit = 0.5;
trunc_lap = TruncatedX(Laplace(location,scale),lower_limit,upper_limit); % make the truncated distribution
r = trunc_lap.Random(1000,1); % generate a sample of random numbers
histogram(r); % view the random sample
The Laplace pdf and cdf are pretty simple so there is probably a more direct route if you want to work out the math.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!