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