我正在将一些代码从Matlab
移植到Armadillo
,并且只停留在一个简单的步骤。我在条件的基础上找到向量res
的所有索引,然后想要存储与条件对应的矩阵Pts
的所有行。
那么在matlab中是什么
ifAny = find(res < lim);
Pts = Pts(ifAny,:);
在犰狳 -
arma::uvec ifAny = arma::find(res < lim);
// elem gives only the single column
// Pts = Pts.elem(ifAny);
答案 0 :(得分:2)
根据Submatrix view section of Armadillo's API documentation,X.rows(vector_of_row_indices)
会从矩阵vector_of_row_indices
中提取所提供的X
中选定的一组非连续行。
因此,在您的情况下,要获得相当于Matlab Pts = Pts(ifAny,:)
的结果,您可以使用:
Pts = Pts.rows(ifAny);