Borrar filtros
Borrar filtros

Shuffling a vector for n times to generate a new vector

1 visualización (últimos 30 días)
A is a vector. I want to shuffle its elements for n times to generate a new vector. For example:
A = [3 5 1];
out = [Shuffle(A) Shuffle(A) Shuffle(A)] % n = 3, but may be a large value
out =
1 5 3 5 1 3 5 3 1
For a large value of n, I can do it using a loop. But, I was wondering if there was any easy without looping. Thanks.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 22 de Jul. de 2015
A = [3 5 1]
n=10
a=perms(1:3)'
m=size(a,1)
k=randi(m,n,1)
s=a(:,k)
out=A(s(:))

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by