如何从特征矩阵中获得不连续的“块”数据?

时间:2015-04-20 02:09:30

标签: c++ eigen

假设我想将一些泛型操作应用于由其值的某个子集组成的矩阵,这些子集不一定是连续的。我怎么能这样做?

如果值是连续的,我只会使用Eigen::block操作,但如果它们不是,那该怎么办?

一个应用可能是我有一个正整数的特征矩阵:

Eigen::Matrix<int, 4, 1> mat;
mat << 4, 1, 2, 8;

我想要返回第0,第2和第3个值。如果它们是连续的(0th,1st和2nd),我可以简单地在这个矩阵上使用block操作,但在这种情况下我该怎么办?

1 个答案:

答案 0 :(得分:0)

如何重新排列元素使连续?

1 0 0 0     4     4
0 0 1 0  x  1  =  2
0 0 0 1     2     8
0 0 0 0     8     0