Chciałbym zainicjować boost::random::discrete_distribution
z std::vector<double>
.Jak zainicjować boost :: random :: discrete_distribution przy użyciu std :: vector?
Moim problemem jest to, że gdybym go zainicjować z tablicy, jak w oficjalnym przykład:
double probabilities[] = {
0.5, 0.1, 0.1, 0.1, 0.1, 0.1
};
boost::random::discrete_distribution<> dist(probabilities);
to działa idealnie.
Jednak jeśli zainicjuję go przy pomocy std::vector
, zachowuje się tak, jakby miał tylko jeden element z prawdopodobieństwem 1.0.
Czy możesz mi powiedzieć, jaki jest właściwy sposób inicjowania boost::random::discrete_distribution<>
z wektorem?
Czy wiesz, jak rozwiązać ten problem? [link] (https://stackoverflow.com/questions/48013802/how-to-set-a-vector-of-discrete-distribution-c) Jest prawie taki sam, ale z wektorem dystrybucji. –