Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Randomly Shuffle Rows in MATLAB Matrix
MATLAB is a great tool to process matrices. It provides a large number built-in functions and processing methods that we can use to manipulate our matrices just by writing a small piece of MATLAB codes. Such an operation that we can perform on matrices in MATLAB is random shuffling of rows of a matrix. In this tutorial, I will explain how you can randomly shuffle rows of a matrix using MATLAB.
Randomly Shuffle Rows of a Matrix in MATLAB
MATLAB is a complete solution to manipulate matrices using computers. In MATLAB, we can very easily shuffle rows of a matrix by using MATLAB's built-in functions.
MATLAB has a built-in function namely, 'randperm' that we can use to shuffle or swap the rows of a given matrix randomly. This function shuffles the rows of the matrix by generating a random permutation of indices of rows. This randomly generated permutation allows us to rearrange the rows of our matrix in a random order.
Before going to discuss the practical implementation of the concept, let us first discuss the step-by-step process of shuffling of rows of a matrix in MATLAB.
Process of Randomly Shuffling Rows of a Matrix using MATLAB
The step-by-step procedure to shuffle the rows of a matrix randomly using MATLAB programming is explained below:
Step (1) - First of all, create or load the matrix that you want to manipulate in the MATLAB workspace.
Step (2) - Determine the number of rows in the matrix. For this you can use a MATLAB's built-in function 'size'. The following syntax of the 'size' function is used to determine the number of rows in a matrix:
Rows_Num = size(matrix, 1);
Here, '1' is used to specify that we want to determine first dimension (row) of the matrix.
Step (3) - Now, use the 'randperm' function to generate a random permutation of indices of matrix rows. For this, the following syntax is to be used:
Rand_Perm = randperm(Row_Num);
Step (4) - In this step, utilize the randomly generated permutation to reorder/shuffle the rows of the matrix.
Step (5) - Finally, display the result.
We now have the enough knowledge to implement the MATLAB code to perform random shuffling of rows of a matrix.
Example
Let us take an example program to understand how actually we can write the codes in MATLAB to shuffle the rows of a given matrix.
% MATLAB code to shuffle rows of a matrix randomly
% Create a sample matrix
Mat = [10, 20, 2; 42, 51, 67; 57, 85, 19; 1, 15, 2];
% Determine the number of rows in the matrix
n = size(Mat, 1); % dim = 1 to specify rows
% Generate a random permutation of indices of rows of the matrix
R = randperm(n);
% Shuffle the rows of the matrix using random permutation
Shuffled_Mat = Mat(R, :);
% Display the input and shuffled matrices
disp('The input matrix is:');
disp(Mat);
disp('The shuffled matrix is:');
disp(Shuffled_Mat);
Output
The input matrix is:
10 20 2
42 51 67
57 85 19
1 15 2
The shuffled matrix is:
10 20 2
1 15 2
42 51 67
57 85 19
Explanation
In this MATLAB code, we shuffled the rows of the input matrix using the randomly generated permutation.
Conclusion
This is all about random shuffling of rows of a matrix using MATAB. In this tutorial, we explained the step-by-step process to shuffle the rows of a matrix with the help of an example.
In conclusion, MATLAB has a built-in function 'randperm' that can be used to randomly shuffle the rows of a matrix by utilizing the randomly generated permutation of row indices of the matrix.