1、Eigen矩阵定义
Eigen定义 类型:行:列
Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>
eg.Matrix<double,3,4> 类型为浮点型3行4列的矩阵
1 2 3 4
2 2 3 4
3 2 3 4
2、预定义的特殊矩阵Vector列矩阵、RowVector行矩阵
eg.Vector3d(Matrix<double,3,1>)为3行1列的矩阵
eg.RowVector3d(Matrix<double,1,3>)为1行3列的矩阵
在计算空间坐标转换时,旋转矩阵一般为3行3列矩阵,所以点的描述使用1行3列的行向量,可以直接进行矩阵运算,得到的也是一个行矩阵
3、矩阵赋值、矩阵取值
对于Matrix<double,3,3> m
取值:m(0,0) m(0,1) ……m(2,2)
对于Vector3d这种列向量可以采用m(0,0) m(1,0) m(2,0)或者m(0) m(1) m(2)
对于RowVector3d这种行向量可以采用m(0,0) m(0,1) m(0,2)或者m(0) m(1) m(2)
这种方式是按行写入,tt(2,0)(第2行,第0列的元素是7):
Eigen::Matrix3d tt;
tt << 1, 2, 3, 4, 5, 6, 7, 8, 9;
本文深入讲解了Eigen库中矩阵的定义、预定义特殊矩阵、矩阵的赋值与取值等核心概念。通过具体实例,详细介绍了3行4列、3行1列及1行3列矩阵的使用场景,特别关注于计算空间坐标转换时的行向量应用。
&spm=1001.2101.3001.5002&articleId=107726575&d=1&t=3&u=101a5658c41f4ffcb93bf5fd9957a9e3)
5856

被折叠的 条评论
为什么被折叠?



