eigen一维向量_Eigen向量和矩阵的用法1(C++)

在Eigen中,所有的矩阵Matrix和向量Vector都是由Matrix类构造的。向量只不过是矩阵的特殊形式,只有一列(列向量)或者一行。

Matrix模板类有6个参数,其中前三个参数是必须的。前三个参数如下:

Matrix

Scalar 是 标量类型,取值可以是 float ,int double 等。

RowsAtCompileTime 和 ColsAtCompileTime 是在程序编译时就已经知道的矩阵的行数和列数。

Eigen 提供了一些常用的 定义好的类型。比如:

typedef Matrix Matrix4f .

在Eigen中,列向量是默认向量,在不特别说明的情况下,向量Vector就是指的列向量。在Eigen中定义了列向量:

typedef Matrix Vector3f ;

Eigen也定义了行向量:

typedef Matrix RowVector2i ;

如果矩阵的尺寸在编译的时候是不确定的,而在运行的时候才能确定,Eigen提供了定义动态大小的方法。比如非常好用的:

typedef Matrix MatrixXd;

MatrixXd定义了任意行数和列数的矩阵,可以在运行时确定。

类似地,对于向量有:

typedef Matrix VectorXi ;

也可以对于一个维度确定,而指定另外一个维度是动态大小的。

Matrix 矩阵的行数是 3,列数不确定。

矩阵的构造,Eigen提供了默认构造函数。

Matrix3f a;

MatirxXf b;

你可能感兴趣的:(eigen一维向量)