Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
高斯分布在C语言中几乎没有帮助_C_Math_Gaussian - Fatal编程技术网

高斯分布在C语言中几乎没有帮助

高斯分布在C语言中几乎没有帮助,c,math,gaussian,C,Math,Gaussian,我尝试使用此处描述的方法2和方法3生成高斯分布: 问题是我有点困惑,因为我有西格玛和平均值以及范围为0到1的100个数字,但在这些方法中,它只返回0到1的间隔值,而在这些方法中,没有使用西格玛和平均值 有人能帮我怎么用这些方法生成高斯分布吗?你链接的例程给出了平均值为0、标准偏差为1的随机数(从高斯(正态)分布中选择)。这是像这样的例行工作的惯常方式 很容易将其更改为任何其他平均值和标准差-您只需乘以标准差,然后添加平均值 例如,如果x是由上面的一个例程生成的,那么 y = 0.5 * x +

我尝试使用此处描述的方法2和方法3生成高斯分布:

问题是我有点困惑,因为我有西格玛和平均值以及范围为0到1的100个数字,但在这些方法中,它只返回0到1的间隔值,而在这些方法中,没有使用西格玛和平均值


有人能帮我怎么用这些方法生成高斯分布吗?

你链接的例程给出了平均值为0、标准偏差为1的随机数(从高斯(正态)分布中选择)。这是像这样的例行工作的惯常方式

很容易将其更改为任何其他平均值和标准差-您只需乘以标准差,然后添加平均值

例如,如果
x
是由上面的一个例程生成的,那么

y = 0.5 * x + 0.1
标准偏差为0.5,平均值为0.1


所以你不需要为均值和标准差的每一个组合单独设置一个程序。您只需使用给定的例程,然后进行额外的转换。

这不是简单的复制和粘贴吗?如果您有一个平均值为0且stddev=1的分布,那么只需乘以所需的stddev,然后添加所需的平均值。@oli这不会使其保持标准化,是吗?@rubenvb:Define“normalized”。@oli integral是1,还是N,这对于概率分布来说是合适的。谢谢你的回答,我还有一个困惑。假设我有一个数字数组,其中0-1之间有不同的浮点数,我想为它生成guassian分布。因此,我制作了这个程序,请检查我的错误
(int k=0;kif你有不起作用的代码,问一个不同的问题。但是考虑到你没有将这个或任何其他回答标记为正确的,我当然不会回答…抱歉打扰你,我只需要一点帮助,在我出错的地方,我以前的评论是不完整的,程序是错误的
a[3]={0.3,0.7,0.2,0.1};for(int k=0;kIF您有无法使用的代码,请再问一个问题。对不起,先生,我没有代码,我只是想根据需要修改它,我不会强迫您给我答案,如果您不知道,那么没关系:)谢谢您的帮助,先生:)