我有多个NxM矩阵,想要通过变量选择其中一个。我最好的猜测是使用boost::MultiArray
创建一个NxMxP矩阵,然后通过第三维选择。
我使用array_view实现了它:
typedef boost::multi_array<double, 3> threeDimMatrix;
typedef threeDimMatrix::index_range rangeDim;
threeDimMatrix hypotheses(boost::extents[nInputs][nStates][nChan]);
threeDimMatrix::array_view<2>::type hypothesesAdd =
hypotheses[boost::indices[rangeDim(0,2)][rangeDim(0,2)][ IDX ] ];
不幸的是,我想继续将此代码作为boost::matrix
继续使用我的代码并且不知道如何操作。我可以做演员吗?
或者没有multi_array甚至可能吗?我可以通过变量以某种方式选择矩阵吗?
答案 0 :(得分:1)
不是拥有一个三维数组,你不能保持你的Boost矩阵并且有一个映射器吗?然后不需要演员表,你不应该有任何问题。
映射器可以是索引作为键的基本数组,也可以使用C ++库cplusplus.com/reference/stl/map。