MATLAB Answers

0

Shuffling a vector for n times to generate a new vector

Asked by Shoaibur Rahman on 22 Jul 2015
Latest activity Answered by Azzi Abdelmalek
on 22 Jul 2015
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.

  0 Comments

Sign in to comment.

1 Answer

Answer by Azzi Abdelmalek
on 22 Jul 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(:))

  0 Comments

Sign in to comment.