所以我想制作一个脚本,它将随机将4的值分成12个不同的变量。我想不出一个好的方法来正确地做到这一点。我考虑过对数字进行随机化,以使它们接近0.33(4/12中的1/12),但这往往会导致最后几个数字被忽略。任何人都曾尝试过这样的事情,或者对于如何使这个尽可能随机且均匀不均匀有什么好的想法?将一个数字划分为随机不等份
7
A
回答
17
从您最喜欢的随机数生成器中生成12个随机数,请拨打r1..r12
。
将它们全部加起来,请拨打总和sum
。
4
的第一个随机部分是(r1/sum)*4
。其余的应该是显而易见的。
8
生成任何大于1的随机数,然后重新缩放到所需的总和。
实施例:
- 必需总和:4
- 随机编号:1 2 3 4 5 6 7 8 9 10 11 12
- 萨姆= 78
- 重标号:
1 rescaled to(1 * 4)/ 78
2重新缩放至(2×4)/ 78
...
12重新缩放到(12 * 4)/ 78
2
下面的算法提供了均匀分布的分区,假定有可能以在连续范围内(或者至少在具有足够多的可能值的离散范围上产生均匀分布的随机数,以致重复的可能性可忽略不计)。
为了产生的t
一个分区到k
值:
范围
[0, t]
生成k-1
均匀分布的值。对它们进行排序,并在开始处添加
0
,最后添加。使用相邻的差异作为分区。
相关问题
- 1. 随机并将NumPy数组划分为不等数部分
- 2. Python:将一个数组划分为
- 3. 将一个数组列表划分为两个相等的部分
- 4. 将一个数组划分为最佳的不等于总和子列表
- 5. 使用python将随机样本划分为子组
- 6. 将矩形划分为随机形状的多边形
- 7. 将一个集合划分为K个不相等的子集合
- 8. 如何将给定字段中的年份划分为单个年份?
- 9. 如何生成随机数,这将提供关于划分
- 10. 将随机数发生器种子设置为一个“随机”数
- 11. Python:将一个字符串划分为子字符串
- 12. 将数据集划分为两个聚类,总等差异相等
- 13. 为什么我的随机数字不那么随机?
- 14. 将网格中的第一行划分为四个相等部分WPF
- 15. 如何划分一个字符数组
- 16. 制作一个随机数字矩阵
- 17. CCK字段是一个随机数
- 18. 随机5个不同的数字
- 19. 随机化并将对象拆分为2个数组
- 20. 划分数千个字段
- 21. 为HTML生成一个随机数
- 22. 将字符串划分为一半而不切割元素
- 23. 如何在红宝石中随机分配一个数字?
- 24. 随机数字不重复
- 25. GROOVY如何将随机数整理为一个整数
- 26. 随机数生成并随机分配到3个数字在php中
- 27. Python - 将列表随机分成几乎相等的部分
- 28. 为什么这个函数不会生成随机数字?
- 29. 将网格划分成随机大小的矩形
- 30. 将字符串分成数组并在bash中随机选取一个元素
太棒了!非常感谢! – Tom 2013-02-19 13:58:40
请注意,此解决方案不会生成以逻辑方式均匀分布的数字集,但它是大多数人似乎选择的解决方案,因为他们不明白为什么它不能产生真正一致的东西。 – 2013-02-19 16:09:37
@woodchips:为这种批评提供一些证明(虽然它是正确的),对于提供生成均匀分布的分区的答案更有帮助。我试图做后者,但我不确定它是否正确。 – rici 2013-02-19 19:21:17