Re: easy question about random numbers

*To*: mathgroup at smc.vnet.net*Subject*: [mg53393] Re: easy question about random numbers*From*: "Borut Levart" <bole79 at email.si>*Date*: Sun, 9 Jan 2005 23:03:48 -0500 (EST)*References*: <crqb7f$cak$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Helo, I don't think there is a more effective way of solving your problem. Perhaps you could Mathematize it in some way. Position[Rest[li3],x_?(r<#&),1,1][[1,1]] Bye Borut Levart, Slovenia "Pedrito" <pedrito6 at softhome.net> wrote in message news:crqb7f$cak$1 at smc.vnet.net... > Hi everybody! > > I wanted to obtain a discrete random number generator that I needed for > a project. > > On the library Statistics`DiscreteDistributions` I could find the DiscreteUniformDistribution > function. But I wanted to specify the probability for each one of the > states. > > > For instance: > If we need to simulate an unfair dice, we could have this probabilities > for each one of the sides: > {1/6, 1/6, 1/6, 1/6, 9/60, 11/60} > > So I wrote: > li2 = {1/6, 1/6, 1/6, 1/6, 9/60, 11/60} > li3=FoldList[Plus,0,li2] > Module[{i = 1, r = Random[]}, While[ !li3[[i]] < r < li3[[i + 1]], i++]; i] > > It works ok but I don't know if there is another (better) way of doing > this. > Any suggestion?