How can I swap two columns of a matrix in MATLAB?
394 views (last 30 days)
Show older comments
How can I swap two columns of a matrix in MATLAB?
2 Comments
David Sinex
on 3 Oct 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
on 3 Oct 2022
idx1 = 2;
idx2 = 5;
AA(:,[idx1,idx2]) = AA(:,[idx2,idx1]);
Answers (1)
Manvi Goel
on 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]
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;
5 Comments
Andrea
on 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
on 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" ?
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!