How to Permute the Rows and Columns in a Matrix on MATLAB?

27 Jan, 2022
In this article, we will discuss how to find the permutation of the rows and columns in a Matrix with the help of multiple approaches
In this approach, we are simply permuting the rows and columns of the matrix in the specified format of rows and columns respectively.  For column permutation, we take an example of a 3*3 matrix being permuted in such a way that its first column becomes the second one, the second becomes the third one and lastly, the third becomes the first column.
Example 1: 
Matlab
% MATLAB code for column permutation% and specifying a 3*3 matrixA = [1 2 3     4 5 6     7 8 9]      % Initializing a list of columns (Index)% in which above matrix need to be% permutedindex = [3 1 2] % Getting the column permuted matrix BB = A(:, index)
Output: 
A =
  1   2   3
  4   5   6
  7   8   9
index =
  3   1   2
B =
  3   1   2
  6   4   5
  9   7   8
Example 2: 
Matlab
% MATLAB code for rows permutation.% Specifying a 3*3 matrixA = [1 2 3     4 5 6     7 8 9]      % Initializing a list of rows (Index)% in which above matrix need to be% permutedindex = [3 1 2] % Getting the rows permuted matrix BB = A(index, 
Output: 
A =
  1   2   3
  4   5   6
  7   8   9
index =
  3   1   2
B =
  7   8   9
  1   2   3
  4   5   6
The perms() function returns a matrix that contains all the possible permutations of the elements of the specified vector “v” in reverse lexicographic order. Here each row of the returned matrix contains a different permutation of the “n” elements of the specified vector “v”. The returned matrix has the same data type as the given vector “v” and has n! rows and n columns.
Syntax: 
perms(v)
Parameters: This function accepts a parameter which is illustrated below:
v: This is the specified vector containing the “n” number of elements.
Return Value: It returns a matrix that contains all the possible permutations of the elements of the specified vector “v” in reverse lexicographic order. 
Example 1: 
Matlab
% MATLAB code for perms()% Initializing a vector of some elementsvector = [1 2 3]; % Calling the perms() function over the% above vector as its parameter whose% elements are going to be permutedP = perms(vector)
Output: 
P =
  3   2   1
  3   1   2
  2   3   1
  2   1   3
  1   3   2
  1   2   3
Example 2: 
Matlab
% MATLAB code for perms()% Initializing a vector of some complex numbersvector = [1+2i 3+4i 5+6i]; % Calling the perms() function over the% above vector as its parameter whose% elements are going to be permutedP = perms(vector)
Output: 
P =
  5 + 6i   3 + 4i   1 + 2i
  5 + 6i   1 + 2i   3 + 4i
  3 + 4i   5 + 6i   1 + 2i
  3 + 4i   1 + 2i   5 + 6i
  1 + 2i   5 + 6i   3 + 4i
  1 + 2i   3 + 4i   5 + 6i
The permute() function rearranges the dimensions of the specified array in the order specified by the vector dimorder.
Syntax: 
permute(A, dimorder)
Parameters: This function accepts two parameters, which are illustrated below: 
A: This is the specified array matrix.
dimorder: This is the specified vector order in which permutation is being done.
Return Value: It returns the permuted matrix.
Example 1: 
Matlab
% MATLAB code for permute()% Creating a random 2*3 matrixA = rand(2, 3) % Calling the permute() function% over the above matrix in the% dimension order of [2 1]B = permute(A, [2 1])
Output: 
A =
  0.32773   0.12633   0.67752
  0.26285   0.91283   0.42994
B =
  0.32773   0.26285
  0.12633   0.91283
  0.67752   0.42994
Example 2: 
Matlab
% MATLAB code for permute ()% Creating 2-by-3-by-2 random array matrixA = rand(3, 3, 2) % Calling the permute() function% over the above matrix in the% dimension order of [2 3 1]B = permute(A, [2 3 1])
Output: 
A =
ans(:,:,1) =
  0.53364   0.65671   0.32496
  0.82471   0.36042   0.31604
  0.82714   0.84231   0.70248
ans(:,:,2) =
  0.424538   0.498572   0.972245
  0.069400   0.799598   0.754885
  0.722046   0.807107   0.392804
B =
ans(:,:,1) =
  0.53364   0.42454
  0.65671   0.49857
  0.32496   0.97224
ans(:,:,2) =
  0.824706   0.069400
  0.360418   0.799598
  0.316038   0.754885
ans(:,:,3) =
  0.82714   0.72205
  0.84231   0.80711
  0.70248   0.39280
 
arorakashish0911
simranarora5sos
MATLAB-matrix
MATLAB-programs
Picked
MATLAB
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.