有两个向量:
Eigen::VectorXd A;
A << 1, 2, 3, 4;
Eigen::VectorXd B;
B << 1, 2, 3;
如何从向量A和B创建跟随矩阵C?矩阵列等于向量A,向量B的元素是矩阵列因子。
Eigen::MatrixXd C;
C << 1, 2, 3,
2, 4, 6,
3, 6, 9,
4, 8, 12;
答案 0 :(得分:1)
Eigen中的向量是列向量,因此您可以编写如下内容:
Eigen::Vector4d A;
Eigen::Vector3d B;
A << 1, 2, 3, 4;
B << 1, 2, 3;
const Eigen::MatrixXd C = A * B.transpose();
请注意,在内存中,数据以列主要方式排序。我提到这一点是因为它在我调试本征矩阵时第一次使我感到惊讶。