【自动驾驶】Eigen:矩阵Matrix的使用
·
矩阵的使用可参考系列博客:https://blog.csdn.net/caomin1hao/category_7898685.html
1.Eigen::Matrix<float, 3, 4>
定义一个 3*4的浮点型矩阵
2.Eigen::Matrix4f
4*4矩阵,定义见下:
typedef Matrix<float, 4, 4> Matrix4f; // 4*4矩阵
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.Eigen::Vector3f
3*1列向量,定义见下:
typedef Matrix<float, 3, 1> Vector3f; //列向量,3*1
4.Eigen::RowVector2i
1*2行向量,定义见下:
typedef Matrix<int, 1, 2> RowVector2i; //行向量 1*2
Matrix3f a; a是一个3*3的矩阵,分配了float[9]的空间,但未初始化内部元素;
MatrixXf b; b是一个动态大小的矩阵,定义是未分配空间(0*0)。
MatrixXf a(10,15); a是一个10*15的动态大小的矩阵,分配了空间但未初始化元素
5. 块操作
-
块操作
块是
matrix或array中的矩形子部分。 -
使用块
函数
.block(),有两种形式
| operation | 构建一个动态尺寸的block | 构建一个固定尺寸的block |
|---|---|---|
起点(i,j),块大小(p,q) | .block(i,j,p,q) | .block< p,q >(i,j) |
Eigen中,索引从0开始。
求矩阵的逆:
.inverse()
更多推荐




所有评论(0)