0

我有多个 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 ] ];

不幸的是,我想继续我的代码与这个矩阵作为 aboost::matrix并且不知道如何。我可以做一些类似演员的事情吗?

或者没有multi_array甚至可能吗?我还能以某种方式通过变量选择矩阵吗?

4

1 回答 1

1

除了拥有一个 3 维数组,你不能保持你的 Boost 矩阵原样并有一个映射器吗?然后不需要演员表,你不应该有任何问题。

映射器可以是一个基本数组,其中索引将是您的键,或者使用 C++ 库cplusplus.com/reference/stl/map

于 2012-05-10T11:04:41.573 回答