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;
我正在尝试获取一个矩阵,该矩阵由向量与行向量中各个元素的乘积组成,如下所示:
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;