Azzera filtri
Azzera filtri

randperm

13 visualizzazioni (ultimi 30 giorni)
Miriam
Miriam il 11 Nov 2011
How can I use randperm for a nx2 matrix?
  1 Commento
Dr. Seis
Dr. Seis il 11 Nov 2011
"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?

Accedi per commentare.

Risposte (3)

Jonathan
Jonathan il 11 Nov 2011
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 Commento
Jonathan
Jonathan il 11 Nov 2011
@Miriam, to permute the columns separately do this.
D = A;
D(:,1) = D(randperm(n),1);
D(:,2) = D(randperm(n),2);

Accedi per commentare.


Miriam
Miriam il 11 Nov 2011
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 il 11 Nov 2011
You can use FEX: Shuffle:
A = rand(100, 2);
Dim = 1;
B = Shuffle(A, Dim);

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by