关于生成不等概率的随机数的问题

问题描述:

关于生成不等概率的随机数的问题
比如说有一串数字:1 2 3 4 5,它们对应的概率分别是90% 70% 60% 30% 10%,如果要按照这个概率系数产生这些数字,程序运行1000次,最终来看结果,每个数字产生的次数应该要呈现这么个递减的关系.
是的,可能有网友注意到,其总概率大于1了,总概率肯定是大于1的,概率越大的数产生的次数越多,这个地方也可以不把它看成是概率,在我们的概念里,概率加起来一般是要等于1的.这里可以看成是一个数的重要系数,该系数越大,其随机产生的次数就越多.这里我用概率主要是形象一点也比较好表达,但是容易产生误解.PS:最好能用程序实现,我编程能力一般,或者说个思路也行,谢谢各位路过的大侠了.
1个回答 分类:综合 2014-12-15

问题解答:

我来补答
excel里
=LOOKUP(INT(RAND()*260),{0,90,160,220,250;1,2,3,4,5})
每个数字产生的次数的比 约为 90:70:60:30:10
再问: 是的,总概率肯定是大于1的,概率越大的数产生的次数越多,这个地方也可以不把它看成是概率,在我们的概念里,概率加起来一般是要等于1的。这里可以看成是一个数的重要系数,该系数越大,其随机产生的次数就越多。
再答: 那总概率也是1啊,系数越大概率越大而已
再问: 恩,这个地方细想概率概率应该为1才对,我换个说法,比如说一个数10非常重要,8重要,5略重要,那么在程序运行1000次中,可能10产生700次,8产生200次,5产生100次,这样,要怎么实现呢?
再答: 10 8 5 它们对应的概率分别是70% 20% 10% 产生随机数1-100 1-70为10 71-90为8 91-100为5
 
 
展开全文阅读
剩余:2000