作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
许多随机数生成器返回 0 到 1 之间的浮点数。
获取 的最佳和正确方法是什么?整数 在 a 和 b 之间?
最佳答案
在 B-A+1 个 bin 中划分区间 [0,1]
示例 A=2, B=5
[----+----+----+----]
0 1/4 1/2 3/4 1
Maps to 2 3 4 5
Int (Rnd() * (B-A+1)) + A
r=Rnd()
if r equal 1
MyInt = B
else
MyInt = Int(r * (B-A+1)) + A
endif
f[a_, b_] := If[(r = RandomReal[]) == 1, b, IntegerPart[r (b - a + 1)] + a]
table = SortBy[Tally[Table[f[1, 100], {300000}]], First]
In[137]:= {Max[First /@ table], Min[First /@ table]}
Out[137]= {100, 1}
BarChart[Last /@ SortBy[Tally[Table[f[1, 100], {300000}]], First],
ChartStyle -> "DarkRainbow"]
关于language-agnostic - 将 [0,1] 区间扩展为 [a,b] 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3036208/
我是一名优秀的程序员,十分优秀!