matrix - change columns randomly

1 view (last 30 days)
Jonny
Jonny on 16 Oct 2011
Commented: Ruchi Agarwal on 7 Jan 2020
Hi, how can I change randomly the positions of entire columns in a matrix [nxm]? For example, I want to change my matrix
A=[ 1 2 3 5 4 ;
2 2 2 2 2 ;
4 5 6 7 7 ;
8 9 8 8 8 ;
9 9 9 9 9 ]; to change into
B=[ 3 5 4 2 1;
2 2 2 2 2;
6 7 7 5 4;
8 8 8 9 8;
9 9 9 9 9];
Thank you :)

Answers (1)

Wayne King
Wayne King on 16 Oct 2011
A random shuffling of the columns of A. One way:
cols = size(A,2);
P = randperm(cols);
B = A(:,P);
  1 Comment
Ruchi Agarwal
Ruchi Agarwal on 7 Jan 2020
how to restore original columns after randperm?

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!