首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

随机函数有关问题,怎么得到正态值的随机数

2012-01-14 
随机函数问题,如何得到正态值的随机数?System.Random()得到的随机数经测试,随机是随机了,但是不是正态分值

随机函数问题,如何得到正态值的随机数?
System.Random()得到的随机数经测试,随机是随机了,但是不是正态分值,比如产生1   ~   500之间的随机数,大值出现的概率很大,不能得到正态分布的随机值,有什么办法可以解决这个问题?

谢谢

[解决办法]
到底是正态分布还是均匀分布?

正态分布可以用大数定例自己生成,不过比较慢——用Random取30个均匀分布的随机数,然后取他们的平均。

或正用第三方的:
http://www.codeproject.com/cs/library/Random.asp?df=100&forumid=331238&exp=0&select=1925969

[解决办法]
投机一些的办法,如果只有1到10的随机,估计会好一些。首先生成位数,比如生成3到7位的随机数,可以先随机从3到7中间取一个数,比如5,然后就循环5次,每次从0到9随机生成一个数字,比如取出来的是3、9、5、8、1,然后组合,就变成随机数字39581。这样估计会好一些。

热点排行