官方主页: 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) |