Eigen3展平矩阵作为矢量

时间:2014-01-28 23:30:09

标签: eigen3

在MATLAB中,我可以执行以下操作

A = [1 2 3; 4 5 6];
A(:)

得到:

ans =
1
4
2
5
3
6

如何使用Eigen3矩阵进行此操作?

1 个答案:

答案 0 :(得分:2)

最好的方法是使用Map:

Map<VectorXd> v(A.data(),A.size());

因为在这种情况下,Eigen在编译时知道你现在有一个向量。

当然,结果将取决于A的存储顺序,即列主矩阵(默认值):

[1 4 2 5 3 6]^T

和行主要的:

[1 2 3 4 5 6]^T