How can I swap two columns of a matrix in MATLAB?

146 Ansichten (letzte 30 Tage)
Deepak
Deepak am 6 Jun. 2019
Kommentiert: Walter Roberson am 25 Feb. 2023
How can I swap two columns of a matrix in MATLAB?
  2 Kommentare
David Sinex
David Sinex am 3 Okt. 2022
In a single line using fliplr() and given 2 indices idx1 & idx2,
idx1 = 2;
idx2 = 5;
AA(:,[idx1,idx2]) = fliplr(AA(:,[idx1,idx2]));
Walter Roberson
Walter Roberson am 3 Okt. 2022
idx1 = 2;
idx2 = 5;
AA(:,[idx1,idx2]) = AA(:,[idx2,idx1]);

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Manvi Goel
Manvi Goel am 6 Jun. 2019
There is an easy way to extract a column of a matrix in MATLAB
Suppose you have a matrix A:
A = [1, 2, 3 ; 4, 5, 6]
Screen Shot 2019-06-07 at 12.15.44 AM.png
and you want to swap its first and the second columns.
The following can be done by extracting the first column, storing its value in a temporary variable and replacing second's value with the stored value:
v = A(:, 1);
A(:, 1) = A(:, 2);
A(:, 2) = v;
Screen Shot 2019-06-07 at 12.17.19 AM.png
  5 Kommentare
Andrea
Andrea am 25 Feb. 2023
thanks! helped me as well. I hoped to take the product between the original matrix and a simple binary matrix which would perform the transformation but in my case the matrix is text cell so linear algebra operations are not possible (unless I am missing something)
Walter Roberson
Walter Roberson am 25 Feb. 2023
It is not clear what 0 or false times a text entry would be ? Are you hoping, for example, that
false * "hello"
would give a result of "0" ?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by