我使用此代码创建 0 到 1 之间的随机数。
randnumber = (double)((double)rand() / (double)RAND_MAX);
这行代码经常给出像 0.650434、0.302340 和 0.906789 这样的数字,这对我来说是很大的数字。问题是我需要较小的范围数字,例如这些数字:0.000200、0.000100、0.000400、0.000600 等等。 如何修改这行代码以获得结果?
最佳答案
您知道您正在寻找哪种概率分布函数吗?如果您仍然想要统一,您可以简单地将 [0,1) 结果除以一个大数并应用移位,以便它以您想要的值为中心。
如果你想要正态分布的东西,你可以使用类似逆变换 method 的东西。 。同样,您需要将其居中并修改标准差。其他发行版也有类似的转换
关于c++ - 如何在 RAND 函数中获得更小的比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17701691/