Size input must be scalar using rand to generate uniformly distributed numbers

4 views (last 30 days)
I want to generate a set of random numbers which contains 1000 uniformly distributed numbers on the interval [-1,1]. I am getting the error that input must be scalar.
my code:
a = rand(1000,[-1,1]);
Error:
Error using rand
Size inputs must be scalar.

Accepted Answer

Ameer Hamza
Ameer Hamza on 18 Nov 2020
Edited: Ameer Hamza on 18 Nov 2020
rand() does not accept the range of random values. It always generates values between 0 and 1. You need to rescale yourself.
lb = -1;
ub = 1;
a = rand(1000,1)*(ub-lb) + lb; % 1000x1 vector

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!