我的官网地址
原文链接Qt中的矩阵计算库eigen
在实际工程中由于需要使用矩阵计算,网上搜罗了下,发现 eigen 库比较靠谱,这里简要介绍下食用方法,以及如何避免运行断言
下载库
引入到 Qt 工程中
- 将 源码中的 的 Eigen 目录拷贝到 Qt 工程的目录
- 目录中新建 eigen.pri 文件内容如下
INCLUDEPATH += $$PWD
使用
- 新建 C++类
- 在头文件中添加
#include <Geometry>
- cpp 文件示例
using namespace Eigen;
//.......
//一维矩阵
VectorXf V(20);
//赋值,一维元素引用和赋值
for(int i = 0; i < 20; i++){
V(i) = i;
}
MatrixXf M(10, 20);
//矩阵赋值和引用
for(int i = 0; i < 10; i++){
for(int j = 0; j < 20; j++){
M(i, j) = (i * 20 + j);
}
}
//矩阵相乘
VectorXf V2(10);
V2 = M * V;
PS
如果不慎失误矩阵的维数不一致可能导致运行时 assert 错误,经过查看源代码发现可以定义 EIGEN_NO_DEBUG 即可,更简单的方法为在 pri 文件中添加语句,修改后的 pri 文件如下
#CONFIG(debug, debug|release):{
#}
#else{
##release版本
# DEFINES += EIGEN_NO_DEBUG
#}
DEFINES += EIGEN_NO_DEBUG
INCLUDEPATH += $$PWD