本征:从向量创建矩阵

时间:2020-08-27 17:55:05

标签: eigen3

有两个向量:

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;

1 个答案:

答案 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();

请注意,在内存中,数据以列主要方式排序。我提到这一点是因为它在我调试本征矩阵时第一次使我感到惊讶。