Random.nextGaussian()问题

应该假定Random.nextGaussian()给出均值为0和std偏差为1的随机编号。它生成的许多编号不在[-1,+

1]范围内。我该如何设置,使其仅在-1到1的范围内给出正态分布的随机数。

回答:

高斯分布的平均值为0,标准差为1,表示该分布的平均值为0,大约70%的总体位于[-1,1]范围内。忽略超出范围的数字-它们在两侧形成约16%的条纹。

也许更好的解决方案是使用mean=0和生成分布std.dev=0.5。这将使您的分布具有[96,-1]范围内的值的约96%。

更好的解决方案是像上面那样向后工作,并使用大约 99.7%的值位于3-sigma范围内:使用std.dev =

1/3。这几乎将使您获得的不太有用的值数量无效。当您得到一个时,请忽略它。

当然,如果您正在开发数学密集型产品,那么所有这些都将毫无价值。

以上是 Random.nextGaussian()问题 的全部内容, 来源链接: utcz.com/qa/426253.html

回到顶部