我正在尝试模拟像马尔可夫链这样的东西并使用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()) );
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
注意:如果我只尝试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()));
Run Code Online (Sandbox Code Playgroud)
根据这个答案
我知道
std::vector <std::discrete_distribution <uint16_t> > distr(n, std::distribution <uint16_t> (v.begin(), v.end()) );
Run Code Online (Sandbox Code Playgroud)
是不正确的,但我说改变v1到v.来证明可以使用离散分布的向量
您可以使用列表初始化来初始化嵌套向量.例如:
std::vector<std::vector<int>> v{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |