Sto cercando di generare numeri interi casuali con distribuzione logaritmica. Io uso la seguente formula:Genera numeri casuali con distribuzione logaritmica e pendenza personalizzata
idx = Math.floor(Math.log((Math.random() * Math.pow(2.0, max)) + 1.0)/Math.log(2.0));
Questo funziona bene e produce sequenza così per 1000 iterazioni (ciascun numero rappresenta il numero di volte in cui indice è stato generato):
[525, 261, 119, 45, 29, 13, 5, 1, 1, 1]
I Sto cercando ora di regolare la pendenza di questa distribuzione in modo che non diminuisca rapidamente e produca qualcosa come:
[150, 120, 100, 80, 60, ...]
Giocare alla cieca con i coefficienti non mi dava quello che volevo. Qualche idea su come ottenerlo?
imposta ogni '2.0' nella tua formula più vicino a' 1.0' e, g. '1.3' – zmii
@zmii che funziona bene se' max = 10', ma se 'max = 2' produce una pendenza ancora più nitida:' [830, 170] 'vs' [744, 256] 'per' 2.0' – serg
I fai in questo modo: [numeri pseudo casuali con una distribuzione predefinita] (http://stackoverflow.com/a/22422035/2521214) – Spektre