randperm

How can I use randperm for a nx2 matrix?

1 comentario

Dr. Seis
Dr. Seis el 11 de Nov. de 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?

Iniciar sesión para comentar.

Respuestas (3)

Jonathan
Jonathan el 11 de Nov. de 2011

0 votos

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 comentario

Jonathan
Jonathan el 11 de Nov. de 2011
@Miriam, to permute the columns separately do this.
D = A;
D(:,1) = D(randperm(n),1);
D(:,2) = D(randperm(n),2);

Iniciar sesión para comentar.

Miriam
Miriam el 11 de Nov. de 2011

0 votos

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 el 11 de Nov. de 2011

0 votos

You can use FEX: Shuffle:
A = rand(100, 2);
Dim = 1;
B = Shuffle(A, Dim);

Categorías

Etiquetas

Preguntada:

el 11 de Nov. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by