我正在尝试模拟马尔可夫链之类的东西
并使用discrete_distribution来模拟状态s_i到s_j的变化。
但当然,这是一个矩阵,而不是向量。
所以我尝试一下。
std::vector <uint16_t> v {{...},
{...},
...
{...},};
std::vector <std::discrete_distribution <uint16_t> > distr(n, std::distribution <uint16_t> (v.begin(), v.end()) );
但这行不通。
注意:如果我只尝试 1 个向量,这是 uint16_t 的向量
// CHANGE v by v[0]
std::vector<std::discrete_distribution <uint64_t>> distr(1, std::discrete_distribution <uint64_t> (vecs[0].begin(), vecs[0].end()));
基于此answer
我知道
std::vector <std::discrete_distribution <uint16_t> > distr(n, std::distribution <uint16_t> (v.begin(), v.end()) );
不正确,但我说的是 v1 到 v 的更改,以证明可以使用离散分布向量
您可以使用列表初始化初始化嵌套向量。例如。:
std::vector<std::vector<int>> v{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)