Eigen vector3d 默认为列向量,Eigen(3)矩阵Matrix及其简单操

Eigen::Vector3d a(1.0, 2.0, 3.0)
std::cout << "a = \n" << a << std::endl;
std::cout << "a.transepose() = \n" << a.transepose() << std::endl;

输出结果为:
a = 
1.0
2.0
3.0
a.transepose() = 
1.0  2. 0  3.0
 

 

原文链接

1. Matrix类

   在Eigen,所有的矩阵和向量都是Matrix模板类的对象,Vector只是一种特殊的矩阵(一行或者一列)。

    Matrix有6个模板参数,主要使用前三个参数,剩下的有默认值。

Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>

Scalar是表示元素的类型,RowsAtCompileTime为矩阵的行,ColsAtCompileTime为矩阵的列。

库中提供了一些类型便于使用,比如:

typedef Matrix<float, 4, 4> Matrix4f;

 

2. Vectors向量

列向量

typedef Matrix<float, 3, 1> Vector3f;
 

行向量

typedef Matrix<int, 1, 2> RowVector2i;
 

3. Dynamic

Eigen不只限于已知大小(编译阶段)的矩阵,有些矩阵的尺寸是运行时确定的,于是引入了一个特殊的标识符:Dynamic

typedef Matrix<double, Dynamic, Dynamic> MatrixXd;

typedef Matrix<int, Dynamic, 1> VectorXi;

Matrix<float, 3, Dynamic>
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值