赞
踩
Eigen库矩阵运算特别方便,类似于Matlab 矩阵运算(类似于matlab函数使用),可以结合C++进行编程。
在Eigen库中,使用maxCoeff()和minCoeff()函数,可以方便计算矩阵中的最大值和最小值,但是若想返回矩阵中最大值和最小值的位置,需要给定相关参数 Index;
- MatrixXd::Index maxRow, maxCol;
- MatrixXd::Index minRow, minCol;
返回位置索引,位置从0开始,
- #include<Eigen/Core>
- #include<iostream>
- using 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 = " <<minCol<<endl;
- cout << "maxRow = " << maxRow << "maxCol = " << maxCol << endl;
- return 0;
- }
输出结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。