#include <iostream>
#include <ctime>
#include <Eigen/Dense> // 稠密矩阵的代数运算
using namespace std;
#define MATRIX_SIZE 100
int main()
{
// Eigen 以矩阵为基本数据单元,它是一个模板类,它的前三个参数为: 数据类型,行,列
Eigen::Matrix<float, 2, 3> matrix_23; // 声明一个2*3的float矩阵
// 同时Eigen通过typedef 提供了许多内置类型,不过底层仍是Eigen::Matrix
// 例如Vector3d实质上是Eigen::Matrix<double,3,1>,即三维向量
Eigen::Vector3d v_3d;
// 这是一样的
Eigen::Matrix<float, 3, 1> vd_3d;
// Matrix3d 实质上是Eigen::Matrix<double,3,3>
Eigen::Matrix3d matrix_33 = Eigen::Matrix3d::Zero(); // 初始化为零
// 如果不确定矩阵大小,可以使用动态大小的矩阵
Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> matrix_dynamic;
// 下面是一种更简单的写法
Eigen::MatrixXd matrix_x;
// 下面是对Eigen矩阵的操作
// 输入数据(初始化)
matrix_23 << 1, 2, 3, 4, 5, 6;
// 输出
cout << matrix_23 << endl;
// 用()访问矩阵中的元素
for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++)
C++ Eigen3使用详细教程
最新推荐文章于 2024-10-08 09:30:00 发布