【问题标题】:C++ Eigen Library: Mutliplying vector with elements from row vectorC++ Eigen 库:将向量与行向量中的元素相乘
【发布时间】:2017-12-17 08:51:44
【问题描述】:

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

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 向量。

【问题讨论】:

    标签: c++ matrix eigen matrix-multiplication


    【解决方案1】:

    您想要一个标准矩阵产品:

    MatrixXf res = vec * val;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多