MATLAB Answers

swap columns of a matrix

200 views (last 30 days)
Hello guys/girls
How do i swap columns??
I have this
k_minus =
-46 -43 -26 -14 7 19 11 32 39 45 45
0 -4 -7 -7 -44 -44 -7 -7 -15 -15 0
and I want the columns to be in opposite order - How do I do this? and can do this in one go?
  1 Comment
Keerthi Krishna PARVATHANENI
Easy way is to swap the coloums based on the positon
For example:
A=[10 20 30;
40 50 60];
swap the coloum 1 to 2 can be done by
A(:,[2 1 3])
ans =
20 10 30
50 40 60
Exact approach can be adopted ot swap rows
A([2 1],:)
ans =
40 50 60
10 20 30
I think, this can be easy way with minium code.
Enjoy :)

Sign in to comment.

Accepted Answer

Thomas
Thomas on 25 Feb 2014
Edited: Thomas on 25 Feb 2014
You could also use
out= fliplr(k_minus)
  1 Comment
Rasmus
Rasmus on 25 Feb 2014
That is actually easier! :)

Sign in to comment.

More Answers (2)

Mischa Kim
Mischa Kim on 25 Feb 2014
Edited: Mischa Kim on 25 Feb 2014
Use
k_minus_rev = k_minus(:, [length(k_minus(1,:)):-1:1])
  4 Comments
kk
kk on 2 Apr 2019
Thank you for this answer! It has helped me "merge" two matrices, i.e. creating a matrix consisting of the first column of matrix A, first column of matrix B, second column of matrix A, second column of matrix B, etc.

Sign in to comment.


rishabh gupta
rishabh gupta on 12 Jan 2018
you can also use: k_minus_rev = k_minus(:, [length(k_minus):-1:1])
  2 Comments
Helen Joan
Helen Joan on 30 Apr 2019
is it possible to do this with a loop?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by