8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

将标量添加到特征矩阵(矢量)

verfluecht 2月前

53 0

我刚开始使用 Eigen 库,不明白如何向矩阵的所有成员添加标量值?假设我有一个矩阵:Eigen::Matrix3Xf mtx = Eigen::Matrix3Xf::Ones(3,4);mt...

我刚开始使用 Eigen 库,不明白如何向所有矩阵的成员添加标量值?

假设我有一个矩阵:

Eigen::Matrix3Xf mtx = Eigen::Matrix3Xf::Ones(3,4);
mtx = mtx + 1;    // main.cxx:104:13: error: invalid operands to binary expression ('Eigen::Matrix3Xf' (aka 'Matrix<float, 3, Dynamic>') and 'int')

我期望结果矩阵将填充 2

帖子版权声明 1、本帖标题:将标量添加到特征矩阵(矢量)
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由verfluecht在本站《matlab》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 请阅读 Eigen 文档的快速参考页面:eigen.tuxfamily.org/dox/group__QuickRefPage.html

  • Rugo 2月前 0 只看Ta
    引用 3

    谢谢您的回复。Array3Xf mtx = Eigen::Array3Xf::Ones(3,4); 是否仅允许我将其用作矩阵/向量,还是还有其他优势?

  • 使用 Eigen 进行元素级运算最好在 Array 域内进行。你可以这样做

    mtx.array() += 1.f;
    

    稍微详细一点的选项是:

    mtx += Eigen::Matrix3Xf::Ones(3,4);
    

    您还应该 mtx 首先 Array3Xf

    Array3Xf mtx = Eigen::Array3Xf::Ones(3,4);
    mtx += 1.f;
    

    如果您需要用作 mtx 矩阵(即在矩阵产品中),您可以编写

    Vector3f v = mtx.matrix() * w; 
    
返回
作者最近主题: