Picking random variables with different probablities

I have a variable range lets say x = 3:6.
I want to pick 200 random numbers from this range (it could be any decimal number in the range). But I want these numbers to be picked with certain probability.
For example 20% of the numbers from the range 3:4,
50% of the numbers from the range 4:5,
and rest 30% of the numbers from the range 5:6.
How can i do this?
Thanks.

 Accepted Answer

Try this
a = randsample(3:5, 10000, true, [0.2 0.5 0.3]) + rand(1, 10000);
It will generate 10000 random numbers with given distribution. Check their distribution with
histogram(a, [3 4 5 6])

2 Comments

Thank you!!!
This is perfect. It did not click me that I can use rand(1) to add with numbers generated by randsample.
Thank you so much!!

Sign in to comment.

More Answers (0)

Products

Release

R2019a

Tags

Community Treasure Hunt

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

Start Hunting!