gpt4 book ai didi

random - 根据分布生成随机数

转载 作者:行者123 更新时间:2023-12-03 13:47:38 29 4
gpt4 key购买 nike

我想根据一些分布生成随机数。我怎样才能做到这一点?

最佳答案

您获得的标准随机数生成器(经过简单转换后,在C中为rand(),在许多语言中均等效)在[0,1]范围内是均匀分布的相当不错的近似值。如果这是您所需要的,那就完成了。将其转换为在更大的整数范围内生成的随机数也很简单。

统一分布向正态分布的转换与already been covered on SO一样具有Exponential distribution

[编辑]:对于triangular distribution,转换统一变量相对简单(类似于C):

double triangular(double a,double b,double c) {
double U = rand() / (double) RAND_MAX;
double F = (c - a) / (b - a);
if (U <= F)
return a + sqrt(U * (b - a) * (c - a));
else
return b - sqrt((1 - U) * (b - a) * (b - c));
}


那只是转换维基百科页面上给出的公式。如果您想要其他人,那就是开始寻找的地方。通常,您使用统一变量在所需分布的 cumulative density function的垂直轴上选取一个点(假设它是连续的),然后反转CDF以获取具有所需分布的随机值。

关于random - 根据分布生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510475/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com