java – Random.nextGaussian()的问题

前端之家收集整理的这篇文章主要介绍了java – Random.nextGaussian()的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Random.nextGaussian()应该给出随机数no.s,其均值为0,std偏差为1.
它产生的许多nos超出了[-1,1]的范围.
如何设置,以便它只在-1到1的范围内给出正态分布的随机数.

解决方法

具有平均值0和标准差1的高斯分布意味着分布的平均值为0并且约70%的总体位于[-1,1]范围内.忽略超出范围的数字 – 它们在任何一侧形成约16%的边缘.

也许更好的解决方案是生成均值= 0和std.dev = 0.5的分布.这将为您提供大约96%的[-1,1]范围内的值的分布.

更好的解决方案是如上所述向后工作并使用大约的想法. 99.7%的值位于3-sigma范围内:使用std.dev = 1/3.这几乎会使您获得的不太有用的数量无效.当你得到一个,省略它.

当然,如果你正在研究数学密集型产品,那么所有这些都没有任何价值.

猜你在找的Java相关文章