问题描述
高斯分布的平均值为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()给出均值为0和std偏差为1的随机编号。它生成的许多编号不在[-1,+
1]范围内。我该如何设置,使其仅在-1到1的范围内给出正态分布的随机数。