例如,我有:
Matrix<double,5,2,RowMajor> points;
Matrix<double,5,1> scalars;
我想要的等同于:for(int i=0;i<5;++i){
points.row(i)*=scalars(i);
}
有没有能做到这一点的类轮?我reareay尝试按行和数组,但不能正确处理。
最佳答案
单线如下:
points.array().colwise() *= scalars.array();
因为Array操作始终是基于组件的。
我以为
.colwise().cwiseProduct(scalars)
也应该起作用,但是显然不行。