Switch two row of matrix

497 visualizzazioni (ultimi 30 giorni)
Dusan Grdic
Dusan Grdic il 5 Ott 2013
Commentato: Andrey Piavkin il 27 Giu 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 Commenti
madhan ravi
madhan ravi il 21 Feb 2019
Modificato: madhan ravi il 21 Feb 2019
A more efficient answer had been accepted 5 years ago.
Tristan McRae
Tristan McRae il 22 Feb 2019
omg savage

Accedi per commentare.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 5 Ott 2013
Modificato: Azzi Abdelmalek il 5 Ott 2013
A=[1 3 4; 2 4 5]
A([1 2],:)=A([2 1],:)
  3 Commenti
Kevin Moss
Kevin Moss il 12 Giu 2021
can anyone explain the logic behind why/how this works?
Andrey Piavkin
Andrey Piavkin il 27 Giu 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

Accedi per commentare.

Più risposte (1)

Pontus Vikstål
Pontus Vikstål il 12 Ago 2019
Modificato: Pontus Vikstål il 12 Ago 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 Commenti
madhan ravi
madhan ravi il 25 Lug 2020
If A has more than two rows this won’t work.
Luis Mendez Lopez
Luis Mendez Lopez il 22 Set 2020
Yeah i will do that with my 600*600 matrix

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by