フィルターのクリア

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

2 ビュー (過去 30 日間)
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!!

採用された回答

Stephen23
Stephen23 2015 年 11 月 13 日
編集済み: Stephen23 2015 年 11 月 13 日
for k = randperm(10)
disp(k)
... do something with k
end
  1 件のコメント
Stephen23
Stephen23 2015 年 11 月 13 日
編集済み: Stephen23 2015 年 11 月 14 日
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

サインインしてコメントする。

その他の回答 (1 件)

Adam
Adam 2015 年 11 月 13 日
randperm( 10 );
  2 件のコメント
Katerina Tetzloff
Katerina Tetzloff 2015 年 11 月 13 日
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 2015 年 11 月 13 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by