huangxingaho 发表于 2009-6-9 15:58

如何实现随机数生成的截尾呢

大家好,截尾就是让随机数只出现在某一范围内,比10到100的正态分布,一般可以使用for循环来实现,每次抽样不符合条件就重新抽样,
但是如果需要的随机数数量巨大就不好办了,有方法可以实现使用限制矩阵赋值的范围的方法来实现吗,

sogooda 发表于 2009-6-9 18:12

可以使用线性映射,然后判断是否真的在10~100之间。

huangxingaho 发表于 2009-6-9 21:54

但是采用线性映射可能会改变原来的分布吧,而且如何构造一个线性映射把无穷大的样本空间转化到10——100

friendchj 发表于 2009-6-9 22:17

线性映射应该不会改变正态分布,只是均值和方差有所变化,可以考虑这样一个映射:
y=90*x/(max_x-min_x)+(10*max_x-100*min_x)/(max_x-min_x)
x是你生成的数据,y是转换之后的数据
页: [1]
查看完整版本: 如何实现随机数生成的截尾呢