Random Numbers Within a Specific Range
This example shows how to create an array of random floating-point numbers that are drawn from a uniform distribution in the open interval (50, 100).
By default,rand
returns normalized values (between 0 and 1) that are drawn from a uniform distribution. To change the range of the distribution to a new range, (a,b), multiply each value by the width of the new range, (b–a) and then shift every value bya.
First, initialize the random number generator to make the results in this example repeatable.
rng(0,'twister');
Create a vector of 1000 random values. Use therand
function to draw the values from a uniform distribution in the open interval, (50,100).
a = 50; b = 100; r = (b-a).*rand(1000,1) + a;
Verify the values inr
are within the specified range.
r_range = [min(r) max(r)]
r_range = 50.0261 99.9746
The result is in the open interval, (50,100).
Note
Some combinations ofaandbmake it theoretically possible for your results to includeaorb. In practice, this is extremely unlikely to happen.