本文介绍了如何设置"discrete_distribution"的向量? C ++的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试对诸如马尔可夫链之类的东西进行模拟并使用离散分布模拟状态s_i到s_j的变化.但是,当然,这是一个矩阵,而不是一个向量.所以我尝试.

I'm trying to make a simulation of something like a Markov chainand using discrete_distribution to simulate the change of state s_i to s_j.But of course, this is a Matrix, not a vector.So I try.

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,以证明可以使用离散分布的向量

is not correct, but I say about the change v1 to v. to demonstrate that is possible use a vector of discrete distributions

推荐答案

您可以使用列表初始化来初始化嵌套向量.例如:

You can use list initialization to initialize nested vectors. E.g.:

std::vector<std::vector<int>> v{
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

这篇关于如何设置"discrete_distribution"的向量? C ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 08:53