Azzera filtri
Azzera filtri

How can I select a random number from a set multiple times without it selecting the same number twice?

2 visualizzazioni (ultimi 30 giorni)
I want matlab to spit back all of the numbers 1:10 in a random order, one at a time, without repeating a past response. How can I do this? Right now I have
i=1:10;
s=Sample(i)
But the problem is that it doesn't return all the numbers in the vector before repeating a response.
Thank you!!!
Edit: Basically, I have 10 image files, and I want to display them in a random order but one at a time. I want to use randperm to create a random vector of 1:10, and then have it pull images one at a time.. so if the permutation is, for example, 10 1 7 3 2 4 9 8 5 6, it would make command it to putimage(10, window), user clicks button, and then it goes to putimage(1).. putimage(7)... and so on.
The image files are just 1.jpeg so I am planning to use sprintf to write the number into putimage
Thanks!!

Risposta accettata

Stephen23
Stephen23 il 13 Nov 2015
Modificato: Stephen23 il 13 Nov 2015
for k = randperm(10)
disp(k)
... do something with k
end
  1 Commento
Stephen23
Stephen23 il 13 Nov 2015
Modificato: Stephen23 il 14 Nov 2015
EDIT: The OP posted a long comment about wanting to do something with image files, but deleted it. My response anyway:
for k = randperm(10)
str = sprintf('%d.jpg',k);
... your code here
end

Accedi per commentare.

Più risposte (1)

Adam
Adam il 13 Nov 2015
randperm( 10 );
  2 Commenti
Katerina Tetzloff
Katerina Tetzloff il 13 Nov 2015
If I use randperm(10) it gives me an array. How can I get it to give me one number at a time but still not repeat?
Adam
Adam il 13 Nov 2015
You can use the array in exactly the same way as you would, I assume use the array 1:10 to show the images in a specific order.

Accedi per commentare.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by