Eigen庫使用之矩陣的最大 小值及其位置

2021-09-09 05:53:30 字數 926 閱讀 3149

eigen庫矩陣運算特別方便,類似於matlab 矩陣運算(類似於matlab函式使用),可以結合c++進行程式設計。

在eigen庫中,使用maxcoeff()和mincoeff()函式,可以方便計算矩陣中的最大值和最小值,但是若想返回矩陣中最大值和最小值的位置,需要給定相關引數 index;

matrixxd::index maxrow, maxcol;

matrixxd::index minrow, mincol;

返回位置索引,位置從0開始,

#include#includeusing namespace std;

using namespace eigen;

int main

{ matrixxd::index maxrow, maxcol;

matrixxd::index minrow, mincol;

matrixxd mmat(4,4);

mmat << 11, 10, 13, 15,

3, 24, 56, 1,

2, 12, 45, 0,

8, 5, 6, 4;

double min = mmat.mincoeff(&minrow,&mincol);

double max = mmat.maxcoeff(&maxrow,&maxcol);

cout << "max = \n" << max << endl;

cout << "min = \n" << min << endl;

cout << "minrow = " << minrow << "mincol = " 輸出結果:

Qt使用Eigen矩陣庫

eigen官網 解壓後放在任意資料夾內,然後在qt專案中的pro檔案中加上eigen的目錄 如果沒有載入成功,重新構築即可 includepath d eigen3新增標頭檔案 include定義向量 字尾是變數型別,例如float矩陣是matrix2f vector2d a 5.0,6.0 cou...

C 矩陣處理庫 Eigen初步使用

專案要進行比較多的矩陣操作,特別是二維矩陣。剛開始做實驗時,使用了動態二維陣列,於是寫了一堆matrix函式,作矩陣的乘除加減求逆求行列式。實驗做完了,開始做 優化,發現matrix.h檔案裡適用性太低,而且動態二維陣列的空間分配與釋放也影響效率,於是尋找其他解決方案。首先考慮的是與matlab混合...

C 矩陣處理庫 Eigen初步使用

專案要進行比較多的矩陣操作,特別是二維矩陣。剛開始做實驗時,使用了動態二維陣列,於是寫了一堆matrix函式,作矩陣的乘除加減求逆求行列式。實驗做完了,開始做 優化,發現matrix.h檔案裡適用性太低,而且動態二維陣列的空間分配與釋放也影響效率,於是尋找其他解決方案。首先考慮的是與matlab混合...