[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: Randomly generate 10 different integers

**From**: |
Dupuis |

**Subject**: |
Re: Randomly generate 10 different integers |

**Date**: |
Wed, 16 Sep 2009 03:22:16 -0700 (PDT) |

Xin Dong wrote:
>* *
>* Hi,*
>* *
>* I wanna randomly generate 10 different integers in a given range. I know I*
>* can use random function and discard duplicate values. But is there any*
>* other*
>* simple way to do it?*
>* *
>* *
What you're searching for is an implementation of the Fisher-Yates
algortihm, see http://en.wikipedia.org/wiki/Fisherâ€“Yates_shuffle
Here is a possible way:
x=(1:10); n = length(x);
while n >= 2,
t = ceil(unifrnd(0, n)); %# returns 1 <= t <= n
if (n != t), dummy = x(n); x(n) = x(t); x(t) = dummy; endif %# permute
n = n - 1;
endwhile
--
View this message in context:
http://www.nabble.com/Randomly-generate-10-different-integers-tp24277099p25469653.html
Sent from the Octave - General mailing list archive at Nabble.com.