Matrix是一个模板类,利用模板类可以定义矩阵类。
矩阵类模板:
1Matrix类有6个模板参数,只需要了解前3个就好了。
Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>
参数解读:
- Scalar表示矩阵中系数的类型。
- RowsAtCompileTime 和ColsAtCompileTime 分别表示行数和烈数。
Eigen库也为特例化(方阵)的矩阵模板定义了类型别名,例如:
typedef Matrix<float, 4, 4> Matrix4f;
定义未知阶数方阵的格式如下:
typedef Matrix<float, dynamic,dynamic> MatrixXf;
2接下来是vector,向量其实是矩阵的一种特殊形式,只有一行或者一列。
比如定义一个4维列向量或者行向量如下:
//列向量
typedef Matrix<float, 4, 1> vector4f;
//行向量
typedef Matrix<float, 1, 4> Rowvector4f;
定义未知行列的向量格式如下:
typedef Matrix<double, Dynamic, 1> VectorXd;
//
typedef Matrix<double, 1, Dynamic> RowVectorXd;
3构造函数
(1)默认构造函数