java – Random.nextGaussian()的问题
发布时间:2020-12-15 03:04:26 所属栏目:Java 来源:网络整理
导读:Random.nextGaussian()应该给出随机数no.s,其均值为0,std偏差为1. 它产生的许多nos超出了[-1,1]的范围. 如何设置,以便它只在-1到1的范围内给出正态分布的随机数. 解决方法 具有平均值0和标准差1的高斯分布意味着分布的平均值为0并且约70%的总体位于[-1,1]范
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.这几乎会使您获得的不太有用的数量无效.当你得到一个,省略它. 当然,如果你正在研究数学密集型产品,那么所有这些都没有任何价值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |