How to generate a random REAL NUMBER VECTOR with a range?

How to generate a random REAL NUMBER VECTOR with a range?
I can only generate a random INTEGER vector with a range, which is randi([low, high], column, row) but I don't know how to create a random number vector with a range... I tried rand([low, high], column, row) and an error message popped out saying "Error using rand Size inputs must be scalar."

 Accepted Answer

michio
michio on 27 Oct 2017
Edited: michio on 27 Oct 2017
In general, you can generate N random numbers in the interval (a,b) with the formula
 r = a + (b-a).*rand(N,1);

More Answers (1)

Try this. I do it both ways: to get integers and floating point numbers. Use whichever you want:
low = 10;
high = 20;
numElements = 80;
% Generate integer vector.
rIntegers = randi([low, high], 1, numElements)
% Generate floating point (fractional) number vector.
rDoubles = low + (high-low) * rand(1, numElements)

Categories

Find more on Random Number Generation in Help Center and File Exchange

Asked:

on 27 Oct 2017

Commented:

on 27 Oct 2017

Community Treasure Hunt

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

Start Hunting!