Det här är förmodligen mer ett matematiskt problem, men nån klipsk nisse kanske kan hjälpa mig i vilket fall som helst. 1. Skaffa en slumptalsgenerator som tar fram nummer i ett visst intervall (i allmänhet [0 1)).Slumpgenerator
Jag vill skapa en slumpgenerator som skall returnera ett decimalt värde mellan tex 1.00-20.00
Desto högre värde ju FÄRRE ggr skall det slumpas fram.
Hur gör jag det enklast? Det är säkert hur simpelt som helst, men det är för längesen jag gick ut skolan så jag kommer inte på det själv :)Sv: Slumpgenerator
2. Välj någon typ av fördelning.
3. Applicera fördelningen på slumptalsgeneratorn.
I ditt fall skulle kanske 20 * e^(-x) funka, men då har du verkligen en specifik fördelning. Ytterligare en variant skulle vara ln(ax+b), där du bestämmer a och b så att du hamnar i rätt område. (b=e, a=e^20-e)
Eller möjligtvis 1/(ax+b), eller sqrt(x), eller...
Du får vara lite mer specifik med hur mycket mer sällan det ska slumpas ut.