我试图获得一个矩阵,该矩阵由向量和行向量中的相应元素之间的乘积组成,如下所示:
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
看到this question后,我试过了
val.array().colwise()*vec.array()
和
vec.array().rowwise()*val.array()
但他们只是不工作。
val是1xn向量。
您需要标准矩阵产品:
MatrixXf res = vec * val;