在C ++中生成从-K到K的随机数(大小为M)的向量

时间:2010-09-30 05:33:01

标签: c++ c linux unix

有快速的方法吗?

2 个答案:

答案 0 :(得分:4)

我建议使用Mersenne Twister生成统一的随机变量。如果你产生一个统一的偏差u~ [0,1]那么(2 * K)* u - K将是〜[-K,K]。

答案 1 :(得分:1)

我想你可以用rand

来做到这一点
for (int i = 0; i < M; i++)
{
  v.push_back(rand()%(2*K)-K;
}

但我需要更多地了解你的问题。区间是[-K,K]还是(-K,K)?你是否包括-K和K?