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混合...