Tôi muốn khởi tạo boost::random::discrete_distribution
với số std::vector<double>
.Làm thế nào để khởi tạo boost :: random :: discrete_distribution sử dụng std :: vector?
Vấn đề của tôi là nếu tôi khởi tạo nó với một mảng, như trong ví dụ chính thức:
double probabilities[] = {
0.5, 0.1, 0.1, 0.1, 0.1, 0.1
};
boost::random::discrete_distribution<> dist(probabilities);
sau đó nó hoạt động hoàn hảo.
Tuy nhiên, nếu tôi khởi tạo nó bằng std::vector
, thì nó hoạt động như thể nó chỉ có một phần tử có xác suất 1.0.
Bạn có thể cho tôi biết cách khởi tạo boost::random::discrete_distribution<>
đúng cách với véc tơ không?
bạn có biết cách giải quyết vấn đề này không? [link] (https://stackoverflow.com/questions/48013802/how-to-set-a-vector-of-discrete-distribution-c) Nó gần như giống nhau, nhưng với một vectơ phân phối. –