gpt4 book ai didi

c++ - 在 Eigen c++ 中,如何将 NxM 矩阵的每一行乘以 Nx1 标量的 vector ?

转载 作者:行者123 更新时间:2023-12-02 09:49:44 30 4
gpt4 key购买 nike

例如,我有:

Matrix<double,5,2,RowMajor> points;
Matrix<double,5,1> scalars;

我想要的等同于:

for(int i=0;i<5;++i){
points.row(i)*=scalars(i);
}

有没有oneliner可以做到这一点?

我已经尝试过 rowwise 和 array,但还是做错了。

最佳答案

一行代码如下:

points.array().colwise() *= scalars.array();

因为 Array 操作总是基于组件的。

我认为 .colwise().cwiseProduct(scalars) 也应该有效,但显然无效。

关于c++ - 在 Eigen c++ 中,如何将 NxM 矩阵的每一行乘以 Nx1 标量的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61285704/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com