Switch two row of matrix

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 Comments

temp=A(2,:);
A(1,:)=A(2,:);
A(2,:)=temp;
%this will swap required rows
madhan ravi
madhan ravi on 21 Feb 2019
Edited: madhan ravi on 21 Feb 2019
A more efficient answer had been accepted 5 years ago.
omg savage

Sign in to comment.

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 5 Oct 2013
Edited: Azzi Abdelmalek on 5 Oct 2013
A=[1 3 4; 2 4 5]
A([1 2],:)=A([2 1],:)

3 Comments

Thank you very much. U r awesome
can anyone explain the logic behind why/how this works?
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

Sign in to comment.

More Answers (1)

Pontus Vikstål
Pontus Vikstål on 12 Aug 2019
Edited: Pontus Vikstål on 12 Aug 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 Comments

If A has more than two rows this won’t work.
Yeah i will do that with my 600*600 matrix

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!