You are on page 1of 4

21/6/2020 Generate random numbers with custom PDF - MATLAB Answers - MATLAB Central

MATLAB Answers

Generate random numbers with custom PDF

Follow
294 views (last 30 days)

Michael on 11 Jun 2012


Edited: Walter Roberson  on 10 Jun 2018 •
Vote
1

Hi, as it may become clear I'm fairly weak on probability distributions


I want to generate a set of random numbers between 0 and 1, but able to alter the weighting of these numbers. For example if I
could input some sort of "bias" parameter which determines the extent to which the numbers tend to be closer to 0 than to 1, for
example.
I don't know which of MATLAB's many distributions I should use. So far I've been using the uniform distribution and taking it to the
power N, but N=0.5 seems to give an entirely different PDF shape (in favour of numbers close to 1) than the intended opposite bias,
N=2 (in favour of numbers close to 0). Squaring it seems to favour small numbers far more than sqrt-ing seems to favour large
numbers, so I've rejected this approach as unfair.
Is there a common distribution for this? Numbers have to be between 0 and 1 and I want to take control of how close they are, on
average, to either.
Thanks Mike
 0 Comments

Sign in to comment.

Sign in to answer this question.

 Answers (4)

Tom Lane  on 11 Jun 2012



Vote
0

https://www.mathworks.com/matlabcentral/answers/40847-generate-random-numbers-with-custom-pdf 1/4
21/6/2020 Generate random numbers with custom PDF - MATLAB Answers - MATLAB Central
• Link

If you have the Statistics Toolbox, then take a look at the beta distribution. Use it with disttool to see how the parameters affect the
distribution, randtool to see what a random sample from this distribution looks like, and betarnd to generate your own sample from
the command line or inside a function.
 0 Comments

Sign in to comment.

Pantelis Sopasakis on 10 May 2013



Vote
0

• Link

You may consider using this PDFSampler. I believe, it does exactly what you need. You just need to specify how you want your
samples to be distributed, e.g. you may provide their histogram.
 0 Comments

Sign in to comment.

Image Analyst  on 10 May 2013



Vote
0

• Link

Tons of distributions are given here: http://www.mathworks.com/matlabcentral/fileexchange/7309-randraw


In general, you basically compute the CDF of your PDF function and invert it. Go here for a generally applicable explanation of how
to do it: http://en.wikipedia.org/wiki/Inverse_transform_sampling
 1 Comment

Martins Ezuma on 10 Jun 2018



Thanks

https://www.mathworks.com/matlabcentral/answers/40847-generate-random-numbers-with-custom-pdf 2/4
21/6/2020 Generate random numbers with custom PDF - MATLAB Answers - MATLAB Central
Sign in to comment.

Ka Mirul on 14 Nov 2017


Edited: Walter Roberson  on 10 Jun 2018 •
Vote
0

• Link

I have create a video about generating random number in MATLAB https://www.youtube.com/watch?v=MyH3-ONYL_k


Hope that will help you
 0 Comments

Sign in to comment.

Sign in to answer this question.

See Also
MATLAB Answers

Generation of numbers resembling a prior distribution

2 Answers

generate random numbers in range from (0.8 to 4)

4 Answers

Generate random numbers from a mixture distribution

3 Answers

Entire Website

Finding the best distribution that fits the data

Blogs

Random Number Generation

Documentation

The Ziggurat Random Normal Generator

Blogs

Tags
rand probability pdf distribution

https://www.mathworks.com/matlabcentral/answers/40847-generate-random-numbers-with-custom-pdf 3/4
21/6/2020 Generate random numbers with custom PDF - MATLAB Answers - MATLAB Central

Smart Industry Overview


 Download PDF

mathworks.com
© 1994-2020 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of
additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

https://www.mathworks.com/matlabcentral/answers/40847-generate-random-numbers-with-custom-pdf 4/4

You might also like