Matrix是一个模板类,利用模板类可以定义矩阵类。
矩阵类模板:
1Matrix类有6个模板参数,只需要了解前3个就好了。
Matrix
参数解读:
Eigen库也为特例化(方阵)的矩阵模板定义了类型别名,例如:
typedef Matrix Matrix4f;
定义未知阶数方阵的格式如下:
typedef Matrix MatrixXf;
2接下来是vector,向量其实是矩阵的一种特殊形式,只有一行或者一列。
比如定义一个4维列向量或者行向量如下:
//列向量
typedef Matrix vector4f;
//行向量
typedef Matrix Rowvector4f;
定义未知行列的向量格式如下:
typedef Matrix VectorXd;
//
typedef Matrix RowVectorXd;
3构造函数
(1)默认构造函数
Matrix3f a;//a是一个3x3的矩阵,系数未初始化
MatrixXf b;//b是一个动态大小的矩阵,默认他为0x0维,他的系数数组还未分配内存
(2)接受行数和列数的构造函数
MatrixXf a(10,15);//a是一个动态大小的矩阵,已分配了包含10x15维的数组内存,但元素未初始化
VectorXf b(30);//b是一个动态大小的向量,初始化为30维,分配了包含30维的数组内存,但元素未初始化
Matrix3f a(3,3);//接受行列数的构造函数
针对以上可以进行的操作有:访问元素,系数初始化,检索大小,赋值调整大小等操作。