How can I swap two columns of a matrix in MATLAB?
304 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How can I swap two columns of a matrix in MATLAB?
2 commentaires
David Sinex
le 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
le 3 Oct 2022
idx1 = 2;
idx2 = 5;
AA(:,[idx1,idx2]) = AA(:,[idx2,idx1]);
Réponses (1)
Manvi Goel
le 6 Juin 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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/223476/Screen%20Shot%202019-06-07%20at%2012.15.44%20AM.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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/223477/Screen%20Shot%202019-06-07%20at%2012.17.19%20AM.png)
5 commentaires
Andrea
le 25 Fév 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
le 25 Fév 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" ?
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!