# unidrnd

Random numbers from discrete uniform distribution

## Syntax

``r = unidrnd(n)``
``r = unidrnd(n,sz1,...,szN)``
``r = unidrnd(n,sz)``

## Description

example

````r = unidrnd(n)` generates random numbers from the discrete uniform distribution specified by its maximum value `n`.`n` can be a scalar, vector, matrix, or multidimensional array.```

example

````r = unidrnd(n,sz1,...,szN)` generates an array of random numbers from the discrete uniform distribution with the scalar maximum value `n`, where `sz1,...,szN` indicates the size of each dimension.```

example

````r = unidrnd(n,sz)` generates an array of random numbers from the discrete uniform distribution with the scalar maximum value `n`, where vector `sz` specifies `size(r)`.```

## Examples

collapse all

Generate an array of random numbers from the discrete uniform distributions. For each distribution, specify its maximum value.

Specify the maximum values of the distributions.

`n = 1:10:100;`

Generate random numbers from the discrete uniform distributions.

`r = unidrnd(n)`
```r = 1×10 1 10 3 29 26 5 17 39 78 88 ```

Generate an array of random numbers from one discrete uniform distribution. Here, the maximum value `n` is a scalar.

Use the `unidrnd` function to generate random numbers from the discrete uniform distribution with the maximum value 100. The function returns one number.

`R_scalar = unidrnd(100)`
```R_scalar = 82 ```

Generate a 2-by-3 array of random numbers from the same distribution by specifying the required array dimensions.

`R_array = unidrnd(100,2,3)`
```R_array = 2×3 91 92 10 13 64 28 ```

Alternatively, specify the required array dimensions as a vector.

`R_array = unidrnd(100,[2,3])`
```R_array = 2×3 55 97 98 96 16 96 ```

## Input Arguments

collapse all

Maximum value, specified as a positive integer or array of positive integers.

Example: `unidrnd(10)`

Data Types: `single` | `double`

Size of each dimension, specified as separate arguments of integers. For example, specifying `5,3,2` generates a 5-by-3-by-2 array of random numbers from the discrete uniform distribution.

If `n` is an array, then the specified dimensions `sz1,...,szN` must match the dimensions of `n`.

• If you specify a single value `sz1`, then `r` is a square matrix of size `sz1`-by-`sz1`.

• If the size of any dimension is `0` or negative, then `r` is an empty array.

• Beyond the second dimension, `unidrnd` ignores trailing dimensions with a size of 1. For example, `unidrnd``(n,3,1,1,1)` produces a 3-by-1 vector of random numbers.

Example: `5,3,2`

Data Types: `single` | `double`

Size of each dimension, specified as a row vector of integers. For example, specifying `[5 3 2]` generates a 5-by-3-by-2 array of random numbers from the discrete uniform distribution.

If `n` is an array, then the specified dimensions `sz` must match the dimensions of `n`.

• If you specify a single value `[sz1]`, then `r` is a square matrix of size `sz1`-by-`sz1`.

• If the size of any dimension is `0` or negative, then `r` is an empty array.

• Beyond the second dimension, `unidrnd` ignores trailing dimensions with a size of 1. For example, `unidrnd````(n,[3 1 1 1])``` produces a 3-by-1 vector of random numbers.

Example: `[5 3 2]`

Data Types: `single` | `double`

## Output Arguments

collapse all

Random numbers from the discrete uniform distribution, returned as a scalar value or an array of scalar values.

Data Types: `single` | `double`

## Alternative Functionality

• `unidrnd` is a function specific to discrete uniform distribution. Statistics and Machine Learning Toolbox™ also offers the generic function `random`, which supports various probability distributions. To use `random`, specify the probability distribution name and its parameters. Note that the distribution-specific function `unidrnd` is faster than the generic function `random`.

• To generate random numbers interactively, use `randtool`, a user interface for random number generation.