下面的代码实现了超过0,1,..,n ^ 2-1的离散概率分布函数(我在程序的早期定义了它的值)。最后我得到了这个pdf的实例,它是“数字”值。
但由于某些原因,我不知道,我有两个错误,一个: “预期恒定大小” “int prob [val]”另一个错误是:“错误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];
}