Qt中的矩陣計算庫eigen

我的官網地址
原文鏈接Qt中的矩陣計算庫eigen

在實際工程中由於需要使用矩陣計算,網上搜羅了下,發現 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章