flip certain columns in matrix

hey all i need to flip every nth column in a matrix. ie. if i have matrix A=[1 2 3;4 5 6;7 8 9] i need it to become A=[1 8 3;4 5 6;7 2 9] any suggestions?

 Accepted Answer

Adam
Adam on 20 Oct 2014
Edited: Adam on 20 Oct 2014
n = 2;
colIdx = 2:n:size(A,2);
A(:,colIdx) = flip( A(:,colIdx) )
assuming you want to flip even columns (in the case of n = 2). Obviously for odd colums just change the first line to:
colIdx = 1:n:size(A,2);

More Answers (1)

A(:,[2]) = flip (A(:,[2]))

1 Comment

This flips the 2nd column only, as does
A(:,2) = flip (A(:,2))
without the square brackets.

Sign in to comment.

Categories

Asked:

on 20 Oct 2014

Commented:

on 11 Dec 2017

Community Treasure Hunt

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

Start Hunting!