C++ Eigen使用方法

官方主页: https://eigen.tuxfamily.org/

初始化

块操作

取矩阵或向量中的一部分数据

矩阵

操作 动态大小 固定大小
从(i,j)开始,大小为(p,q) matrix.block(i,j,p,q) matrix.block<p,q>(i,j)
第 i 行 matrix.row(i) matrix.row(i)
第 i 列 matrix.col(j) matrix.col(j)
左上 p 行 q 列 matrix.topLeftCorner(p,q) matrix.topLeftCorner<p,q>()
左下 p 行 q 列 matrix.bottomLeftCorner(p,q) matrix.bottomLeftCorner<p,q>()
右上 p 行 q 列 matrix.topRightCorner(p,q) matrix.topRightCorner<p,q>()
右下 p 行 q 列 matrix.bottomRightCorner(p,q) matrix.bottomRightCorner<p,q>()
前 q 行 matrix.topRows(q) matrix.topRows<q>()
后 q 行 matrix.bottomRows(q) matrix.bottomRows<q>()
前 p 列 matrix.leftCols(p) matrix.leftCols<p>()
后 q 列 matrix.rightCols(q) matrix.rightCols<q>()
从第 i 行开始的 q 列 matrix.middleCols(i,q) matrix.middleCols<q>(i)
从第 i 行开始的 q 行 matrix.middleRows(i,q) matrix.middleRows<q>(i)

向量

操作 动态大小 固定大小
前n个元素 vector.head(n) vector.head<n>()
后n个元素 vector.tail(n) vector.tail<n>()
从第i个开始的n个元素 vector.segment(i,n) vector.segment<n>(i)

引用

Licensed under CC BY-NC-SA 4.0