MATLAB Answers

0

Random Selection of Each Element in Vector

Asked by Andromachi Tsouli on 4 Jan 2017
Latest activity Commented on by Stephen Cobeldick on 4 Jan 2017
Greetings,
I have a vector of 12 elements (a = [10 20 35 38 40 45 48 50 55 58 60 75]') and I want to randomly select one element at a time. How can I do that? Thank you very much.

  1 Comment

Adam's answer is the best use of MATLAB because it returns a vector, and it does not require the Statistics Toolbox.

Sign in to comment.

Tags

2 Answers

Answer by Adam
on 4 Jan 2017
Edited by Adam
on 4 Jan 2017
 Accepted Answer

randA = a( randperm( numel(a) ) )
will give you them in a random order all at once. Then you can take them in turn if you wish.

  2 Comments

how can i do that? thank you so much.
b = a(randperm(numel(a)));
for k = 1:numel(b)
b(k)
end

Sign in to comment.


Answer by KSSV
on 4 Jan 2017
Edited by KSSV
on 4 Jan 2017

a = [10 20 35 38 40 45 48 50 55 58 60 75] ;
N = length(a) ;
pos = 1:N ;
idx = randsample(pos,N) ;
for i = 1:N
a(idx(i))
end

  2 Comments

Thank you so much. I see in my output when running your script that all elements are accessed, how can I modify your script to get only one element at a time as an ouput and not all of them? (sorry, totally new to matlab)
KSSV
on 4 Jan 2017
randsample(a,1)

Sign in to comment.