有没有办法在矩阵中插入行/列(Eigen C ++)?

时间:2018-03-28 20:52:51

标签: c++ eigen

我在C ++中使用Eigen库 我需要在特定索引处的现有矩阵中插入行和列。

例如,假设我需要在第二个索引处插入0行和0列...

原始矩阵(A)

1 2 3
1 2 3
1 2 3

新矩阵(B)

1 2 0 3
1 2 0 3
0 0 0 0
1 2 0 3

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

新矩阵def func(a): return np.mean(a,axis=0) mean = func(a) 可以使用block operations BA从原始矩阵.topRows()构建:

.bottomRows()

这将在第二行和第三行之间插入一行零。 MatrixXd B = MatrixXd::Zero(4, 3); B.topRows(2) = A.topRows(2); B.bottomRows(1) = A.bottomRows(1); .rightCols()的类似操作可用于插入一列零。