[英]C++ Eigen Library: Mutliplying vector with elements from row vector
I am trying to obtain a matrix consisting of the product between a vector and respective elements from a row vector like this: 我试图从这样的行向量中获得一个由向量和各个元素之间的乘积组成的矩阵:
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
After seeing this question , I have tried 看到这个问题后 ,我尝试了
val.array().colwise()*vec.array()
and 和
vec.array().rowwise()*val.array()
but they just don't work. 但它们根本不起作用。
val is a 1xn vector. val是一个1xn向量。
您需要标准矩阵产品:
MatrixXf res = vec * val;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.