Oph*_*erV 10 javascript random distribution
Javascript Math.random()返回带有"统一"分布的伪随机数.
我需要生成一个偏向任一侧的[0,1]范围内的随机数.(意思是,在0或1旁边获得更多数字的机会更高)
理想情况下,我希望有一个参数来设置此曲线.
我认为我可以做到Math.random^2这样的结果,但是有什么更复杂的方法来实现这一目标?
Nis*_*nth 15
可以使用逆累积分布将均匀随机数变换为β分布.
unif = Math.random()
Run Code Online (Sandbox Code Playgroud)
我不熟悉javascript,但这应该是清楚的:
beta = sin(unif*pi/2)^2
Run Code Online (Sandbox Code Playgroud)
PS:你可以生成很多这样的数字并绘制直方图

编辑:
为了向0倾斜,将beta值转换为 -
beta_left = (beta < 0.5) ? 2*beta : 2*(1-beta);
Run Code Online (Sandbox Code Playgroud)

为了向1倾斜,转换为 -
beta_right = (beta > 0.5) ? 2*beta-1 : 2*(1-beta)-1;
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
5119 次 |
| 最近记录: |