|
Post by honky on May 22, 2023 16:25:54 GMT
Good morning, How to have a random number between a minimum and a maximum ? Thank you for.
|
|
|
Post by tsh73 on May 22, 2023 20:32:10 GMT
print "N", "[0..10)", "[-10..10)", "-10..10 floating point" for i = 1 to 15 print i, random(10), randRange(-10,10), randRangeF(-10,10) next
'***************************************************** 'function returns a random integer in range [Min, Max) function randRange(Min, Max) randRange = Min + random(Max-Min) end function
'***************************************************** 'function returns a random integer in range [0, n) function random(n) random = int(rnd(1)*n) end function
'***************************************************** 'floating point [Min, Max) function randRangeF(Min, Max) randRangeF = Min + rnd(0)*(Max-Min) end function
|
|
|
Post by honky on May 22, 2023 21:20:00 GMT
Thank you very much
|
|
|
Post by plus on May 23, 2023 10:39:50 GMT
Random Center Weighted 'Random Center Weighted Dim n(1000) For i = 0 To 10000 r = Int(rndCW(50, 50)) n(r) = n(r) + 1 Next For i = 0 To 100 Step 4 For j = 0 To Int(n(i) / 10) Print "X"; Next Print Next
Function rndCW (C, range) 'C = center +/-range weights to center rndCW = C + Rnd(1) * range - Rnd(1) * range End Function
|
|
|
Post by honky on May 23, 2023 16:23:02 GMT
I take everything. Thank you.
|
|
|
Post by tenochtitlanuk on May 24, 2023 7:23:01 GMT
For many simulations a useful 'random' is one which is 'normally distributed'. See examples on my LB website..
Dim n( 1000)
For i = 0 To 10000 r = Int( normalVariable( 50, 10)) n( r) = n( r) + 1 Next
For i = 0 To 100 Step 4 For j = 0 To Int( n( i) / 10) Print "X"; Next Print Next
end
function normalVariable( mean, sd) pi =atn( 1) *4 normalVariable =mean +sd *( sqr( -2 * log( rnd( 0))) * cos( 2 * pi * rnd( 0))) end function
'X 'X 'X 'X 'X 'X 'XX 'XXXX 'XXXXXXXXX 'XXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXXXXXXXXX 'XXXXXXXXXXXXXXXX 'XXXXXXXX 'XXXX 'XX 'X 'X 'X 'X 'X 'X
|
|
|
Post by honky on May 24, 2023 10:53:35 GMT
Too complicated.
|
|
|
Post by marshawn on May 24, 2023 19:01:49 GMT
|
|
|
Post by plus on May 25, 2023 1:39:47 GMT
Nawh nearly the same as Center Weight, only better! a more natural distribution around the mean instead of Center and 1 standard deviation X 3 might be the range substitute. Update: john's mean and sd have problems with negative numbers like when sd is too broad. eg r = Int( normalVariable( 50, 15))No just doesn't work in this demo because in JB arrays don't do negative indexes.
|
|