Switch two row of matrix

497 vues (au cours des 30 derniers jours)
Dusan Grdic
Dusan Grdic le 5 Oct 2013
Commenté : Andrey Piavkin le 27 Juin 2021
How to switch two row of matrix? For example: matrix A is: 1 3 4; 2 4 5 and Y want to be 2 4 5; 1 3 4 ?
  3 commentaires
madhan ravi
madhan ravi le 21 Fév 2019
Modifié(e) : madhan ravi le 21 Fév 2019
A more efficient answer had been accepted 5 years ago.
Tristan McRae
Tristan McRae le 22 Fév 2019
omg savage

Connectez-vous pour commenter.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 5 Oct 2013
Modifié(e) : Azzi Abdelmalek le 5 Oct 2013
A=[1 3 4; 2 4 5]
A([1 2],:)=A([2 1],:)
  3 commentaires
Kevin Moss
Kevin Moss le 12 Juin 2021
can anyone explain the logic behind why/how this works?
Andrey Piavkin
Andrey Piavkin le 27 Juin 2021
this works pretty clear
we take first and second all the row and make it equal to second and first all the row
for example, if you wanted to switch the third and the first row, you should type like this:
A([1 3], :) = A([3 1], :)
where ':' at second place stands for taking all the columns and '[1 3]' stands for first and third row

Connectez-vous pour commenter.

Plus de réponses (1)

Pontus Vikstål
Pontus Vikstål le 12 Août 2019
Modifié(e) : Pontus Vikstål le 12 Août 2019
This way might be even faster.
A = [1 3 4; 2 4 5]
x = [0 1;1 0];
A = x*A
Then there's also this way
A = [1 3 4; 2 4 5]
A = flip(A)
  2 commentaires
madhan ravi
madhan ravi le 25 Juil 2020
If A has more than two rows this won’t work.
Luis Mendez Lopez
Luis Mendez Lopez le 22 Sep 2020
Yeah i will do that with my 600*600 matrix

Connectez-vous pour commenter.

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!

Translated by