如何用随机库在c ++中生成三峰分布(混合)?

时间:2013-11-16 18:37:05

标签: c++11 random normal-distribution

我正在使用随机c ++ 11库来生成随机数。现在我想生成三个正态分布的混合,平均值为50,100和150以及std dev 10.我该怎么做? 谢谢。 GL

2 个答案:

答案 0 :(得分:1)

std :: lib中没有直接支持多模式分发的API。您必须使用标准提供的 的单峰正态分布构建您的三峰分布:

template <class RealType = double>
class normal_distribution;

答案 1 :(得分:0)

我是通过在3个正态分布中随机选择来实现的,

像:

a=rand(1,3)
switch(a)
case 1:
  res=rand_from_first_normal_distribution();
case 2:
  res=rand_from_second_normal_distribution();
case 3:
  res=rand_from_third_normal_distribution();

无论如何,本课程的截止日期已延长至2月16日,所以不要担心:)