我们在使用c++编码时,常常会需要用到一些矩阵向量计算的函数,但自己编写起来太过麻烦,这时我们就可以通过配置库函数来直接调用我们需要的函数即可。
Eigen的下载地址
http:// eigen.tuxfamily.org/index.php?title=Main_Page#Download
选中c++项目--属性
VC++目录--包含目录--添加你的电脑中Eigen库函数的路径--点击确定
C/C++---附加包含目录--同样选中你电脑中Eigen库函数的路径--点击确定
配置完成
使用时不要忘记包含头文件
#include <iostream>
#include <Eigen/Dense>
using Eigen::MatrixXd;//矩阵定义
using Eigen::VectorXd;//向量定义
若是觉得Eigen库函数中的矩阵和向量定义太过麻烦,可使用以下语法(这里定义的是double类型,其他类型可参照以下代码进行改写)。
在C++项目属性--C/C++---预处理器---预处理器定义中添加USE_DOUBLE。在编写程序时即可使用Mat来代替MatrixXd;
这里包含了一些Eigen库函数使用时的一些语法
如:
typedef Matrix<float, 4, 4> Matrix4f;//定义一个4×4的浮点型的矩阵
typedef Matrix<float, 3, 1> Vector3f;//定义三个浮点数的列向量
typedef Matrix<int, 1, 2> RowVector2i;//定义2个整型的行向量
Vector2i a(1, 2); // A column vector containing the elements {1, 2}
Matrix<int, 5, 1> b {1, 2, 3, 4, 5}; // A row-vector containing the elements {1, 2, 3, 4, 5}
Matrix<int, 1, 5> c = {1, 2, 3, 4, 5}; // A column vector containing the elements {1, 2, 3, 4, 5}
更多相关语法可查询
Eigen: The Matrix classhttps://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.html