下面的代码在 0,1,..,n^2-1 上实现了一个离散概率分布函数(我在程序前面定义了它的值)。最后我得到了这个pdf的一个实例,它是“数字”值。
但是由于某些我不知道的原因,我有两个错误,一个: “int prob [val]”的“expected constant size” 另一个错误是:离散分布 的“error c2661”告诉我它可能不是得到两个参数,但我需要给它两个参数,我以前看过它的例子......
提前致谢
vector< double> weights( n);
for( int count = 0; count < (n*n); ++count) {
weights[count] = pdf( i,count,n);
}
std::default_random_engine generator;
std::discrete_distribution<int> distribution( weights.begin(), weights.end()) ;
int number=0;
const int val = n*n;
int prob[val]={};
for ( int count=0; count<(n*n); ++count ) {
number = distribution( generator);
++prob[number];
}