randperm

7 ビュー (過去 30 日間)
Miriam
Miriam 2011 年 11 月 11 日
How can I use randperm for a nx2 matrix?
  1 件のコメント
Dr. Seis
Dr. Seis 2011 年 11 月 11 日
"randperm" only takes 1 scalar input argument. Can you give a sample of an input nx2 matrix AND what you would expect the output to be?

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

回答 (3 件)

Jonathan
Jonathan 2011 年 11 月 11 日
If you want to randomly permute the rows, do something like the following.
n = 5;
A = reshape(1:2*n, n, 2)
B = A(randperm(n), :)
If you want to randomly permute all elements, do something like this instead.
C = reshape(A(randperm(2*n)), n, 2)
  1 件のコメント
Jonathan
Jonathan 2011 年 11 月 11 日
@Miriam, to permute the columns separately do this.
D = A;
D(:,1) = D(randperm(n),1);
D(:,2) = D(randperm(n),2);

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


Miriam
Miriam 2011 年 11 月 11 日
I see, hmm.. actually I wanted to permute the two columns seperately, but I guess this will not work with randperm. But the suggestions were very helpful anyway! Thanks!

Jan
Jan 2011 年 11 月 11 日
You can use FEX: Shuffle:
A = rand(100, 2);
Dim = 1;
B = Shuffle(A, Dim);

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by