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 :)

回答 (1 件)

Wayne King
Wayne King 2011 年 10 月 16 日

1 投票

A random shuffling of the columns of A. One way:
cols = size(A,2);
P = randperm(cols);
B = A(:,P);

1 件のコメント

Ruchi Agarwal
Ruchi Agarwal 2020 年 1 月 7 日
how to restore original columns after randperm?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeRandom Number Generation についてさらに検索

質問済み:

2011 年 10 月 16 日

コメント済み:

2020 年 1 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by