C++ Eigen 库:将向量与行向量中的元素相乘

C++ Eigen Library: Mutliplying vector with elements from row vector

我正在尝试获取一个矩阵,该矩阵由向量与行向量中各个元素的乘积组成,如下所示:

Eigen::Vector3f vec;
vec << 1,
       2,
       3;

Eigen::RowVectorXf val;
val.setLinSpaced(5, 1, 5); //val = [1,2,3,4,5]

//result should be
//1,2,3,4,5
//2,4,6,8,10
//3,6,9,12,15

看到后,我试过了

val.array().colwise()*vec.array()

vec.array().rowwise()*val.array()

但它们就是不起作用。

val 是一个 1xn 向量。

你想要一个标准的矩阵乘积:

MatrixXf res = vec * val;