Main Content

Create codistributed array of uniformly distributed random integers

creates an `X`

= randi(`r`

,`n`

)`n`

-by-`n`

codistributed matrix
of uniformly distributed random integers in the range defined by
`r`

.

If

`r`

is a scalar, the function creates random integers in the range`1`

to`r`

.If

`r`

is a vector, the function creates random integers in the range`r(1)`

to`r(2)`

.

When you create the codistributed array in a communicating job or `spmd`

block, the function creates an array on each worker. If you create a codistributed array
outside of a communicating job or `spmd`

block, the array is stored only on
the worker or client that creates the codistributed array.

By default, the codistributed array has the underlying type `double`

.

creates an `X`

= randi(`r`

,`sz1,...,szN`

)`sz1`

-by-...-by-`szN`

codistributed
array of uniformly distributed random integers `1`

to
`imax`

. `sz1,...,szN`

indicates the size
of each dimension.

creates a codistributed array of uniformly distributed random integers with the
underlying type `X`

= randi(___,`datatype`

)`datatype`

. For example,
`randi(codistributed(5),"int8")`

creates a codistributed
8-bit random integer between `1`

and `5`

. You
can use this syntax with any of the input arguments in the previous
syntaxes.

uses the codistributor object `X`

= randi(___,`codist`

)`codist`

to create a
codistributed array of uniformly distributed random integers.

Specify the distribution of the array values across the memory of workers using the
codistributor object `codist`

. For more information about creating
codistributors, see `codistributor1d`

and `codistributor2dbc`

.

creates a codistributed array of uniformly distributed random integers without
using communication between workers. You can specify `X`

= randi(___,`codist`

,"noCommunication")`codist`

or `codist,"noCommunication"`

, but not both.

When you create very large arrays or your communicating job or `spmd`

block uses many workers, worker-worker communication can slow down array creation. Use this
syntax to improve the performance of your code by removing the time required for
worker-worker communication.

**Tip**

When you use this syntax, some error checking steps are skipped. Use this syntax
to improve the performance of your code after you prototype your code without
specifying `"noCommunication"`

.