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)默认构造函数

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);//接受行列数的构造函数

针对以上可以进行的操作有:访问元素,系数初始化,检索大小,赋值调整大小等操作。

Eigen(1):Matrix模板类相关推荐

  1. EIgen:Matricx和vector类的定义和使用

    在Eigen中,所有矩阵和向量均为Matrix模板类的对象,向量是矩阵的行(或列)为1是的特殊情况. 1.矩阵的三参数模板 Matrix类有六个模板参数,其中三个有默认值,因此只要学习三个参数就足够了 ...

  2. TermCriteria模板类

    学习写vo过程中遇到的 类功能:模板类,作为迭代算法的终止条件. 构造函数: TermCriteria(int type,int maxCount,double epsilon); 参数说明: typ ...

  3. Google Test(GTest)使用方法和源码解析——模板类测试技术分析和应用

    写C++难免会遇到模板问题,如果要针对一个模板类进行测试,似乎之前博文中介绍的方式只能傻乎乎的一个一个特化类型后再进行测试.其实GTest提供了两种测试模板类的方法,本文我们将介绍方法的使用,并分析其 ...

  4. OpenCV中的TermCriteria模板类

    2019独角兽企业重金招聘Python工程师标准>>> TermCriteria模板类,取代了之前的CvTermCriteria,这个类是作为迭代算法的终止条件的,这个类在参考手册里 ...

  5. C++编程进阶7(何时使用成员函数模板,模板类的实参推断与类型转换、继承与数组)

    二十六.何时使用成员函数模板 关于成员函数模板见https://blog.csdn.net/Master_Cui/article/details/111824152 成员函数模板主要用来兼容不同类型的 ...

  6. C++知识点61——typename与class、模板编程与继承、模板类和友元、类模板与static成员

    一.typename与class的异同 1.啥时候既可以使用typename,又可以使用class? 当表示模板参数的时候,二者没有区别 2.啥时候只能使用typename,不能使用class? 当模 ...

  7. C++知识点56——类模板(1、模板类的介绍)

    一.类模板 和函数模板一样,类模板也得通过template关键字来声明和定义,C++标准库中有很多容器都是类模板 示例 template <typename T> class mystac ...

  8. c++ 以模板类作为参数的模板

    我想写一个以模板类做为参数的模板,,可惜...没成功. 1.从模板参数到模板:这个简单: //类A是一个模板 template<class T> class A{ } ; //类B,想使用 ...

  9. 模板类中使用友元函数的方式,派生类友元函数对基类的成员使用情况

    在一般友元函数的前面加上 template<typename T),注意在函数的声明和定义处都要加这个模板 例如: //模板类,长方体类 template <typename Elemen ...

最新文章

  1. 电子秤专用模拟/数字(A/D)转换器芯片 HX711
  2. 小猪学设计模式——工厂模式之抽象工厂
  3. AR Software
  4. leetcode142. 环形链表 II(暴力+双链表)
  5. java高分面试指南:javamvc模式简单案例
  6. vim学习笔记(3)眼花缭乱的Vim模式
  7. MySQL中TEXT数据类型的最大长度___MySQL VARCHAR字段最大长度究竟是多少
  8. bzoj2756 [SCOI2012]奇怪的游戏 结论+网络流
  9. (56)Verilog HDL双向接口:inout
  10. selenium+java:获取列表中的值
  11. 《Visual Studio Code权威指南》读后总结
  12. uni-app开发环境搭建创建uni-app项目
  13. java中raiseSalary_用Java编写常用的工资管理系统,目的是把每个人的工资上涨百分之五...
  14. 积分电路与低通滤波器
  15. matlab像素矩阵数字,图像的一种处理方式----灰度矩阵运算(matlab)
  16. 华米Zepp小程序开发入门
  17. CKEditor富文本编辑器使用
  18. macOS在使用音视频通话时会降低其他音频声音的解决方法
  19. HTML5+CSS3教程1
  20. OneNote for Win10 代码高亮

热门文章

  1. 关于Python爬虫原理和数据抓取1.1
  2. CSS 文字溢出显示省略号
  3. Kotlin中var和val的区别
  4. Object.keys方法之详解
  5. 图形数据库Neo4j基本了解
  6. 洛谷 P1142 轰炸
  7. 机器学习入门(17)— 输入 4 维数据、基于 im2col 展开来实现卷积层
  8. phoenix php,Python实现连接phoenix的实例
  9. zuul两大作用_SpringCloud微服务(05):Zuul组件,实现路由网关控制
  10. mysql数据类型分析_MYSQL数据类型分析整理