## MATLAB randi() syntax

c = randi( imax, n)

c = randi( imax, h)

c = randi( imax, h1…. hn)

c = randi( imax, typename)

c = randi( imax, n, typename)

c = randi( imax, h, typename)

c = randi( imax, h1…. hn, typename)

c = randi( imax, like, p)

c = randi( imax, n, like, p)

c = randi( imax, h, like, p)

c = randi( imax, h1.… hn, like, p)

c = randi([min, imax],___)

c = randi(s,___)

## MATLAB randi() description and examples

The MATLAB function randi() is used to create two-dimensional or multidimensional arrays of random integer values. This function returns in “c”, a scalar, vector, or matrix with random integer values evenly distributed among all elements. The range of random values and the output data type and working dimensions can be specified by the input arguments in the function call.

The input arguments and data types accepted by this function are explained below.

** imax:** Select the maximum value of random numbers generated by randi(). The data types accepted by this input are: positive integer

** imin: **Select the minimum value from which it will generate the random numbers. For example, if “imin” =50, randi() will generate random numbers greater than 50.

** n: **Specifies the size of the square array of random values generated by randi(). This input’s data types are single, double, int8, int16, int32, int64, uint8, uint16, uint32, or uint64.

** h:** Specifies the size of each dimension of the array to create. The type of data accepted by this input are: positive integer

** typename: ** specifies the data type of the array to be generated. If typename = uint32, the output array will contain elements of type uint32. The data types that this input accepts are: ‘single’, ‘double’, ‘int8’, ‘int16’, ‘int32’, ‘int64’, ‘uint8’, ‘uint16’, ‘uint32’ or ‘uint64’

** like: **Specifies the data type of the elements in the output array. If randi() is called with the “like” flag, the output array will contain elements with the same data type as “p”.

** p: ** If randi() is called with the “like” flag, the output array will contain elements with the same data type as “p”.

## How to generate a scalar containing an integer random number with MATLAB’s randi() function

In the following example, we will see how to create a scalar “s” with a random number using the randi() function. We call the function and specify in “imax” the maximum integer value between which the random value must lie. In this case, it is 10.

In this case, randi() will return a scalar with a random integer value from 1 to 10.

## How to create a square matrix of random numbers with MATLAB randi() function

Let us see how we can use the randi() function to create a square array of random integers between 1 and 100. To do this, we will use the following syntax:

With the input “imax”, we specify the maximum value of the random integer so that the randi() function will only produce values smaller than “imax” or, in this case, 100. With the input “n”, we specify the number of rows/columns of the square matrix we will create, in this case, 3×3.

As a result, randi() created a 3 x 3 array with random numbers from 1 to 100.

91 64 55

13 10 96

92 28 97

## How to select the range of random numbers generated by the MATLAB randi() function

Now we will see how to select the minimum and maximum range between which the random numbers lie. In the following example, we will show you how to create an array of random numbers between 50 and 100. To do this, we call the randi() function by passing in its input arguments a vector with the inputs “imin” and “imax” with the ranges minimum and maximum as follows:

c = randi ([50, 100],3)

c =

58 74 71

99 90 96

98 57 90

As shown in the figure, the result will be a 3×3 matrix with random numbers from 50 to 100.

## How to select the output data type in the MATLAB randi() function

The data type of the output array elements can be specified by typing “typename”. Now we will see how to create a square array with elements of type uint16 using the randi() function.

In this case, the data type of the elements in the created array is uint16.

95 85 76

65 93 74

4 68 39

## How to create a 3D array of random numbers with MATLAB’s randi() function

To create a multidimensional array with randi(), we call the function by specifying in the input “h” the size of the array and the vector of dimensions as shown below

In this case, the randi() function returns a 3D array of random numbers with the sizes and dimensions specified in the size vector.

## Conclusion

In this article, we explained how to create 2D and 3D arrays of random numbers using the MATLAB randi() function. We also show you the different input arguments, flags, and data supported by these functions. We have applied this function’s different variations and show the most commonly used calling methods with practical examples and pictures. We hope this article has been useful to you. See other Linux Hint articles for more tips and information.