作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果需要在 [N, M] 范围内生成随机数,但更多的数字接近 avg ( N <= avg <= M),哪个更好用:
查看 cppreference 页面(页面底部)的示例,它们都生成了所需的内容:
poisson_distribution
在点 4
:
0 *
1 *******
2 **************
3 *******************
4 *******************
5 ***************
6 **********
7 *****
8 **
9 *
10
11
12
13
normal_distribution
点 5
标准差 2
:
-2
-1
0
1 *
2 ***
3 ******
4 ********
5 **********
6 ********
7 *****
8 ***
9 *
10
11
12
选择什么?可能是别的东西?
最佳答案
如果您需要有限范围内的结果,那么这两种选择都不好。正态分布的尾部无限大,泊松分布的尾部无限大。至少您需要其中一个的截断形式。如果您没有截断,请注意法线始终关于其均值对称,而泊松分布可能会非常倾斜。这两种分布的不同之处还在于,正态分布是连续的,泊松分布是离散的,尽管您可以通过对结果进行分箱来离散化连续分布。
如果您想要在有界范围内的一组离散结果,您可以尝试缩放和移动 binomial distribution .带有参数 n
和 p
的二项式计算您从 n
试验中获得的“成功”次数,当试验是独立的并且所有试验都成功时概率 p
。使 n = M - N
并将结果移动 N 以获得 [N,M] 范围内的结果。
如果您想要连续的结果范围,请考虑 beta distribution .您可以捏造参数以获得各种各样的分布形状,并将平均值调整到您想要的位置,然后缩放+移动到您想要的任何范围。
关于c++ - 泊松分布或正态分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30105250/
我是一名优秀的程序员,十分优秀!