Eigen/四元数/欧拉角/旋转矩阵 相关系列文章
- Eigen/Matlab 使用小结
- SLAM——之Eigen入门(矩阵运算及几何模块)
- SLAM——之Eigen函数库,一个相对复杂的EIgen使用实例
- SLAM——Eigen函数库:矩阵块运算,block操作
- SLAM——Eigen函数库之 Eigen::Ref 使用实例
- 欧拉角和旋转矩阵相互转换
- 四元数与三维向量相乘运算
- 四元数求导
- SLAM——Eigen函数库之矩阵块运算,高阶操作middleCols与segment用法
frame->grad_vec_.middleCols(n_old, n_new) = new_grads;
frame->score_vec_.segment(n_old, n_new) = new_scores;
middleCols()
和 segment()
是 Eigen 库中的两个不同的函数,用于操作矩阵的列或向量的连续部分。
-
middleCols()
:这是一个矩阵的成员函数,用于选择矩阵的连续列并进行赋值。它的语法如下:MatrixType.middleCols(startCol, numCols);
其中,
MatrixType
是要操作的矩阵类型,startCol
是起始列的索引,numCols
是要选择的连续列的数量。这个函数返回一个对选定列的引用,所以你可以使用赋值运算符来进行赋值操作。在你提供的代码中,
frame0->grad_vec_.middleCols(n_old, n_new) = new_grads;
表示从矩阵frame0->grad_vec_
的第n_old
列开始,选择连续的n_new
列,并将其赋值为new_grads
。 -
segment()
:这是一个向量的成员函数,用于选择向量的连续部分并进行赋值。它的语法如下:VectorType.segment(startIndex, numElements);
其中,
VectorType
是要操作的向量类型,startIndex
是起始索引,numElements
是要选择的连续元素的数量。这个函数返回一个对选定部分的引用,所以你可以使用赋值运算符来进行赋值操作。在你提供的代码中,
frame0->score_vec_.segment(n_old, n_new) = new_scores;
表示从向量frame0->score_vec_
的第n_old
个元素开始,选择连续的n_new
个元素,并将其赋值为new_scores
。文章来源:https://www.toymoban.com/news/detail-689332.html
因此,middleCols()
用于操作矩阵的列,而 segment()
用于操作向量的连续部分。它们在语法和使用方面有所不同,但都允许选择连续的部分并进行赋值操作。文章来源地址https://www.toymoban.com/news/detail-689332.html
到了这里,关于SLAM——Eigen函数库之矩阵块运算,高阶操作middleCols与segment用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!