in reply to Re: Rand() with ?log10? distribution?
in thread Rand() with ?log10? distribution?
We have a winner! sub primo2{ int( rand() ** 4 * $_[0] ) } Thanks.
I came up with a few of my own:
sub xx2{ int( 2**( 2**( rand() * logN( $_[0], 2 ) ) ) ) } sub xx10{ int( 10**( 10**( rand() * logN( $_[0], 10 ) ) ) ) } sub xx20{ int( 20**( 20**( rand() * logN( $_[0], 20 ) ) ) ) } sub xx100{ int( 100**( 100**( rand() * logN( $_[0], 100 ) ) ) ) }
which I actually prefer to your original because they drop faster at the beginning but don't dip so low at the end, but they are computationally expensive and require the upper limited supplied as a log.
Then I tried varying the exponent on yours, and found its ease of tunability the winning feature. Many thanks.
graph (The above 4 are red, blue, green and cyan respectively, your original(^2) is magenta, and my chosen variation on it (^4) is yellow.)
|
|---|