MATLAB Answers

What does x=randint(1,1,[1,n]); ?

416 views (last 30 days)
Jenny on 9 Jan 2018
Commented: Walter Roberson on 4 May 2020
What does x=randint(1,1,[1,n]); ?

Accepted Answer

M on 9 Jan 2018
I may be wrong, but I think randint was part of the Communication System Toolbox and its functionality has been replaced by the randi function, for which you can find details here .
Jenny on 10 Jan 2018
Thank you.

Sign in to comment.

More Answers (5)

pankaj singh
pankaj singh on 10 Mar 2018
Please note that randint is an obsolete function in the Matlab. You can use randi instead.
randint generates the matrix of uniformly distributed random integers. e.g.
out = randint(M,N);
generates M-by-N matrix of random binary numbers, i.e., 0 and 1 occur with equal probability.
Your example is similar to
out = randint(M,N,[IRANGE(1), IRANGE(2)]]);
where an M-by-N matrix is generated and the elements of the matrix will be in the range mentioned in the square brackets.
will generate a 1-by-1 matrix or just a number within the range [1, n], where n can be any integer.

DHRUVIN SUTHAR on 13 Jul 2019
Hi, I wanted to genrate the single random value in between 5 to 10 and I am trying to use randint function as a randi but I getting an error. could anyone please suggest me any idea?
x =randi(1,1,[5,10]); but I am getting an error "Error using randi;
Size inputs must be scalar."
  1 Comment
Walter Roberson
Walter Roberson on 13 Jul 2019
As I said,
"randint(1,1,[1,n]) would now be written as randi([1,n],1,1)"
You left the parameters in the same order. You would need randi([5 10], 1, 1)

Sign in to comment.

Zeeshan Ahmad
Zeeshan Ahmad on 19 Apr 2020
Randint is no more working, you have to use randi but it will make difference,
like if you are writing randint(9600,1)
now for randi you have to write randi(1,9600)
Walter Roberson
Walter Roberson on 19 Apr 2020
randi(9600,1) will give you any single value, (between 0-9600)
This is a difference between randi and randint. randi(9600,1) would give you a single value in the range 1 to 9600, whereas randint(9600,1) would give you 9600 values in the range 0 to 1, and randint(1,1,9600) would give you a single value in the range 0 to 9599, but randint(1,1,[1 9600]) would give you a single value in the range 1 to 9600.

Sign in to comment.

DHRUVIN SUTHAR on 13 Jul 2019
Thank you so much for your quick responce. It worked.

Divyansh Parmar
Divyansh Parmar on 4 May 2020
image=conv(image,[1 1;1 1])
  1 Comment
Walter Roberson
Walter Roberson on 4 May 2020
? That does not appear to be an Answr to a question about randint() ??

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!