Generate Random Numbers With Custom PDF
Generate Random Numbers With Custom PDF
Michael
on 11 Jun 2012 Vote 2
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.
Answers (4)
Image Analyst
Vote 3 Link
on 10 May 2013
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
Sign in to comment.
Pantelis Sopasakis
on 10 May 2013 Vote 1 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.
Tom Lane
on 11 Jun 2012 Vote 0 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.
Ka Mirul
on 14 Nov 2017 Vote 0 Link
0 Comments
Sign in to comment.
ANNOUNCEMENT
×
New User Levels and Badges Introduced to MATLAB Answers!
Several major updates have been introduced to Answers’ reputation system! The updates...
See Also
MATLAB Answers
Random number generator based on probability distribution
1 Answer
Probability distribution and statistical tool
0 Answers
Entire Website
Random Number
Products
PDFsampler
File Exchange
Supported Distributions
Documentation
Categories
MATLAB
❯
Mathematics
❯
Random Number Generation
Tags
rand probability pdf distribution
Poll
What type of music do you listen to while coding? Share your playlists in the
comments!
710 votes
8 comments
350 views
Vote
mathworks.com
© 1994-2022 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.