Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# randint

Generate matrix of uniformly distributed random integers

 Note:   MathWorks will remove the randint function from a future version of the Communications System Toolbox™ software. We strongly recommend that you use randi instead.

## Syntax

out = randint
out = randint(m)
out = randint(m,n)
out = randint(m,n,rg)
out = randint(m,n,rg,state)

## Description

out = randint generates a random scalar that is either 0 or 1, with equal probability.

out = randint(m) generates an m-by-m binary matrix, each of whose entries independently takes the value 0 with probability 1/2.

out = randint(m,n) generates an m-by-n binary matrix, each of whose entries independently takes the value 0 with probability 1/2.

out = randint(m,n,rg) generates an m-by-n integer matrix. If rg is zero, out is a zero matrix. Otherwise, the entries are uniformly distributed and independently chosen from the range

• [0, rg-1] if rg is a positive integer

• [rg+1, 0] if rg is a negative integer

• Between min and max, inclusive, if rg = [min,max] or [max,min]

out = randint(m,n,rg,state) is the same as the syntax above, except that it first resets the state of the uniform random number generator rand to the integer state.

This function uses, by default, the Mersenne Twister algorithm by Nishimura and Matsumoto.

 Note:   Using the state parameter causes this function to switch random generators to use the 'state' algorithm of the rand function.See rand for details on the generator algorithm.

## Examples

To generate a 10-by-10 matrix whose elements are uniformly distributed in the range from 0 to 7, use either of the following commands.

`out = randint(10,10,[0,7]);`
`out = randint(10,10,8);`