Armadillo C++: - 高效访问多维数据集结构中的列

ora*_*001 4 c++ matrix armadillo

使用Armadillo矩阵库我知道在2d矩阵中访问列的有效方法是通过简单地调用.col(i).

我想知道是否有一种有效的方法来提取存储在"立方体"中的列,而不必首先调用slice命令?

我需要以最有效的方式访问存储的数据(例如使用matlab表示法)A(:,i,j).我将在一个非常大的数据集上进行数百万次,因此速度和效率是一个高优先级.

Dir*_*tel 5

我想你想要的

 B = A.subcube( span:all, span(i), span(j) );
Run Code Online (Sandbox Code Playgroud)

或者等价的

 B = A.subcube( span(),  span(i),  span(j) );
Run Code Online (Sandbox Code Playgroud)

其中B将是与此类型相同的行或列向量A(例如double,默认情况下包含,或许多其他可用类型).