1.类型

Matrix有6个模板参数,主要使用前三个参数(元素类型,行数,列数),剩下的有默认值。

Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>

Eigen的类型主要有矩阵、向量(其实也是一种矩阵),有固定大小和动态大小之分:

 typedef Matrix<float, 3, 3> Matrix3f;      Matrix3f a;//固定size的矩阵,分配3*3个float的空间typedef Matrix<double, Dynamic, Dynamic> MatrixXd;   MatrixXd b;//动态size的矩阵,未分配空间;

向量:

 typedef Matrix<float, 3, 1> Vector3f; //列向量,固定大小typedef Matrix<int, 1, 2> RowVector2i; //行向量,固定大小typedef Matrix<int, Dynamic, 1> VectorXi; //为固定大小,同理行向量

2.取元素

Matrix3f m;
m(0,0);//用括号去找括号里面对应位置的数据

m(index)也可以用于获取矩阵元素,但取决于matrix的存储顺序,默认是按列存储的。

取Matrix4f中的某个区域,m.block<3,3>(0,0) 表示从下标(0,0)开始取3*3的区域, 如果时向量,可以取前面x个元素,m.head<3>()

3.初始化

用逗号初始化

m<<1,1,1,2,2,2,3,3,3;

4.size的基础操作

matrix的大小可以通过rows()、cols()、size()获取,resize()(只用于动态matrix)可以重新调整动态matrix的大小。

5.Vector 通过复制自身形成一个多行数组

    Vector3f  m   3*1数组ArrayXXd p(num, dim); 一个num *dim 的数组;p = m.transpose.replicate(num,1)得到每一行等于m的数组,共有num行

本文参考了:https://blog.csdn.net/caomin1hao/article/details/81358911

Eigen学习总结1相关推荐

  1. Eigen 学习文档: 矩阵和向量运算

    Eigen 学习文档: 矩阵和向量运算 本页旨在提供有关如何使用Eigen在矩阵.向量和标量之间执行算术的概述和一些详细信息. 介绍 Eigen通过重载常见的 C++ 算术运算符(如 +.-.*)或通 ...

  2. Eigen学习教程(一)

    Eigen学习教程(一) 1.Eigen介绍 Eigen是一个用于线性代数的C++模板库:矩阵.向量.数值求解器和相关算法.他可以很方便的植入到C++的程序,然后在矩阵计算中有着很广泛的应用. 本教程 ...

  3. Eigen 学习文档

    This is the documentation for Eigen3 Eigen 学习文档: Matrix 类 Eigen 学习文档: 矩阵和向量运算 Eigen 学习文档: Array类 和元素 ...

  4. Eigen学习记录1-Affine3f 仿射变换矩阵

    首先总结而言:仿射变换矩阵实际上就是:平移向量+旋转变换组合而成,可以同时实现旋转,缩放,平移等空间变换. Eigen库中,仿射变换矩阵的大致用法为:  创建Eigen::Affine3f 对象a. ...

  5. Eigen学习3:矩阵及向量运算

    矩阵及向量运算 注意事项: Eigen中的矩阵和向量运算不会自动适应行列数,需要在编程的时候保证参与运算的矩阵和向量行列数可以进行运算; 头文件<Eigen/Core> 中包含[+,-,, ...

  6. Eigen学习笔记13:固定大小的可矢量化Eigen对象

    对于固定大小的可矢量化Eigen对象的解释! Executive Summary 如果Eigen对象具有固定大小并且该大小是16个字节的倍数,则称为"固定大小向量化". 示例包括: ...

  7. Eigen 学习总结

    Eigen采用源码的方式提供给用户使用,在使用时只需要包含Eigen的头文件即可进行使用.之所以采用这种方式,是因为Eigen采用模板方式实现,由于模板函数不支持分离编译,所以只能提供源码而不是动态库 ...

  8. 【Eigen学习笔记】-- Umeyama

    Umeyama算法 前言 一.Umeyama目标 二.Umeyama原理介绍 三.Umeyama使用方法 前言 一.Umeyama目标 在研究pcl中的icp算法时,看到在求解对应点关系矩阵时,用的是 ...

  9. Eigen 学习笔记

    1.  初始化 //外部指针初始化 double _mu0[12]={...}; double _sigma_inv[9] = ...; kernels[0].mu = Vector3d(_mu0); ...

最新文章

  1. Kotlin学习-基础知识点
  2. 4 个概念,1 个动作,让应用管理变得更简单
  3. 怎么确定迭代器后面还有至少两个值_如何理解Python中的可迭代对象、迭代器和生成器
  4. 2017-2018-1 JAVA实验站 第三周作业
  5. 如何用ABP框架快速完成项目(2) - 快的定义!
  6. linux监控哪些目录,linux管理文件和目录的命令
  7. 用ASP.NETCore构建可检测的高可用服务
  8. 【JVM】JVM指令集总结
  9. python3x完全兼容python2x_李亚涛:一台电脑python2x与python3x如何都可以用?
  10. js修改地址栏url_前端实战总结如何在不刷新页面的情况下改变URL
  11. long8.cc app.html,Potoshop 长投影扩展插件 Long Shadow Generator 支持CS6-CC2015
  12. 锂电池充电芯片,30款设计免费开源
  13. 27、一个扒网站软件——teleport ultra(静态页面)
  14. web onblur string
  15. APP乱查征信?小心你的隐私被卖了!
  16. [160CRACKME]Chafe.2
  17. 加州欧文计算机工程专业,加州大学欧文分校计算机工程排名第29(2018年TFE美国排名)...
  18. 华为 Eth-Trunk链路聚合
  19. 免费体验,快速对接身份证实名认证API接口说明
  20. 植物大战僵尸针对关卡地址以及全部关数的内存基址详细步骤~包含如何观察地址情况等

热门文章

  1. Pytorch不同层设置不同学习率
  2. 计算机开机慢更新配置,系统开机慢?教你如何提高电脑开机速度!
  3. VmodCAM图像采集 VGA显示
  4. html5 预览图片原理,html5实现图片预览和查看原图
  5. 1146 mysql_MySQL--ERROR 1146 (42S02):table doesn’t exist
  6. ubuntu 12.04中搭建nfs服务器
  7. 软件评测师题库--操作系统基础知识
  8. javafx 教程_集成JavaFX和Swing
  9. Serverless Job—— 传统任务新变革
  10. 第一次使用CSDN写博客