How Can Be Randomly Shuffle Rows in MATLAB Matrix?

02 Sep, 2021
In this article, we are going to discuss the “random shuffling of rows in a Matrix ” which can be done using size() and randperm() function. 
1) size(): The size() function is used to return the sizes of each dimension of the specified array “X” or the size of the specified matrix “X”.
size(X)
[m,n] = size(X)

size(X,dim)
[d1,d2,d3,...,dn] = size(X)
Here,
size(X) returns the sizes of each dimension of the specified array “X” in a vector d with ndims(X) elements.
[m,n] = size(X) returns the size of the specified matrix “X” in the separate variables m and n.
size(X,dim) returns the size of the dimension of “X” specified by scalar dim.
[d1,d2,d3,...,dn] = size(X) returns the sizes of the first n dimensions of the specified array “X” in separate variables.
Parameters: This function accepts two parameters which are illustrated below:
X: It is the specified array or matrix or dimension.
dim: It is the scalar value for the specified dimension “X”
2) randperm(): The randperm() function is used for the random permutation of integers.
randperm(n)
randperm(n,k)
Here,
randperm(n) returns a row vector that contains a random permutation of the integers from “1” to “n” without of any repetition.
randperm(n,k) returns a row vector that contains “k” number of unique integers that are selected randomly from 1 to n.
Parameters: This function accepts two parameters which are illustrated below:
n: This is the specified number up to which a random number is going to be generated from “1” without any repetition.
k: It is the number of unique integers that are selected randomly from 1 to n.
Below examples are for the “random shuffling of columns in a Matrix ” which can be done using the combination of the size() and randperm() functions:
Example 1 
Matlab
% MATLAB code for random shuffling% of columns in a MatrixA = [1 2 3   % Specifying a 3*3 matrix     4 5 6     7 8 9]; % Calling the size() function over% the above matrix which gives a row vector% whose elements are the lengths of the% corresponding dimensions of Arows = size(A); % Calling the randperm() function for the% random permutation of the above matrix% over its dimension of 3*3P = randperm(rows); % Getting the row wise randomly shuffled matrixB = A(P, : )
Output
B =
  1   2   3
  7   8   9
  4   5   6
Example 2
Matlab
% MATLAB code for random shuffling% of columns in a MatrixA = [1 2 3 4  % Specifying a 4*4 matrix     5 6 7 8     9 10 11 12     13 14 15 16];      % Calling the randperm() function to% randomly shuffle the rows of matrix AA(randperm(size(A, 2)), : )
Output
ans =
   9   10   11   12
   1    2    3    4
   5    6    7    8
  13   14   15   16
as5853535
arorakashish0911
simmytarika5
MATLAB Matrix-Programs
MATLAB-programs
MATLAB
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Convert Three Channels of Colored Image into Grayscale Image in MATLAB?
How to Solve Histogram Equalization Numerical Problem in MATLAB?
Adaptive Histogram Equalization in Image Processing Using MATLAB
MRI Image Segmentation in MATLAB
Classes and Object in MATLAB
How to detect duplicate values and its indices within an array in MATLAB?
How to Convert RGB Image to Binary Image Using MATLAB?
How to remove space in a string in MATLAB?
How to Iterate through each element in N-Dimensional matrix in MATLAB?
Double Integral in MATLAB