【发布时间】:2020-04-04 22:39:25
【问题描述】:
如何在 X 和 Y 之间生成不均匀分布的随机浮点数,以便更有可能在 X 到 Y 内生成特定范围内的数字?
我确实搜索了很多关键字以找到类似的内容,包括:不均匀分布的随机数,或不均匀的噪声分布,或有偏差的随机浮点数,或加权随机数......
我所能找到的只是从一袋有限的值列表中随机选择,加权以便更有可能选择一些值,但我希望从 X 和 Y 之间的无限浮动范围中进行选择。
我还发现了很多关于如何不生成有偏随机数的文章,这与我想要的相反。
作为我试图用这些数字做什么的一个例子:如果你在一个白色方块上画黑色噪音,每个噪音点都在方块内的随机位置,如果你生成足够多的点,你就会有一个几乎是黑色的正方形。
如果您将随机性较高的概率分布在正方形中间,您将在正方形中间几乎画出一个柔和的黑点。这就是我想要生成的。
所以我的问题是:
- 我确定这些算法存在,它们叫什么?
- 也许有人可以用任何语言建议一个快速的实施方案吗?
- 如何指定偏差的权重?例如:在特定范围内生成数字的可能性是 2 倍还是 5 倍?在我的圆点示例中,我相信如果在某个范围内获得数字的可能性增加 5 倍,那么圆点会更小更暗。
- 如何指定分布的柔软度?例如:线性、长期、二次。在我的圆点示例中,我相信它会使圆点更软或更硬。
提前谢谢你!
【问题讨论】:
-
只是一个想法,但如果你不关心所使用的语言以及它背后的原理,Cross Validated 上的人可能会准确地告诉你这叫什么以及你是如何实现的它在 R 中。分布是统计学家早餐吃的那种东西(它们在牛奶中保持松脆)。
-
谢谢@JeroenMostert!我更喜欢 Javascript / Python 实现 TBH,但任何事情都会有所帮助!我正在寻找一个相当长一段时间的答案......
标签: math random statistics distribution