Curious as to why randi can only take on values that are positive, scalar integers.

3 views (last 30 days)
I'm new, terrible at coding, and know little to nothing about this software, so this question is going to sound rather foolish, but I'm just curious as to why these sorts of restrictions exist for this function, I'll likely ask this question again for other aspects too.

Answers (1)

Walter Roberson
Walter Roberson on 25 Jan 2016
Because that is what the function is for, to produce random integers.
You are incorrect that it only accepts positive scalars: the first argument can be a two element vector of minimum and maximum integers for the range, such as
randi([-50,100],5)
to produce a 5 x 5 in the range -50 to +100
For continuous values in a uniform distribution, use
rand(SIZE_OF_ARRAY) * (MaximumValue - MinimumValue) + MinimumValue
For discrete values that are non-integer or not contiguous, see randsample()

Categories

Find more on Variables 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!