LUA中的正态分布曲线和随机数

问题描述 投票:0回答:1

所以说我的数字范围是1-1000。 math.random(1,1000)将使我有相等的机会获得每个数字。取而代之的是,我想绘制一条分布曲线,以使获得1的机会等于获得1000的机会,但是例如获得500的机会更为普遍。我要怎么做呢?

math random lua numbers normal-distribution
1个回答
1
投票
function norm1000()
   local x 
   repeat
      x = math.ceil(math.log(1/math.random())^.5*math.cos(math.pi*math.random())*150+500)
   until x >= 1 and x <= 1000
   return x
end
© www.soinside.com 2019 - 2024. All rights reserved.