Random Selection of Each Element in Vector

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 comentario

Stephen23
Stephen23 el 4 de En. de 2017
Editada: Stephen23 el 4 de En. de 2017
Adam's answer is the best use of MATLAB because it returns a vector, and it does not require the Statistics Toolbox.

Iniciar sesión para comentar.

 Respuesta aceptada

Adam
Adam el 4 de En. de 2017
Editada: Adam el 4 de En. de 2017
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 comentarios

Andromachi Tsouli
Andromachi Tsouli el 4 de En. de 2017
how can i do that? thank you so much.
b = a(randperm(numel(a)));
for k = 1:numel(b)
b(k)
end

Iniciar sesión para comentar.

Más respuestas (1)

KSSV
KSSV el 4 de En. de 2017
Editada: KSSV el 4 de En. de 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 comentarios

Andromachi Tsouli
Andromachi Tsouli el 4 de En. de 2017
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)
randsample(a,1)

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 4 de En. de 2017

Comentada:

el 4 de En. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by