我想按矩阵的行查找最大值和索引。我基于eigen 网站上的一个示例(示例 7)。
#include <iostream>
#include <Eigen/Dense>
using namespace std;
using namespace Eigen;
int main()
{
MatrixXf mat(2,4);
mat << 1, 2, 6, 9,
3, 1, 7, 2;
MatrixXf::Index maxIndex;
VectorXf maxVal = mat.rowwise().maxCoeff(&maxIndex);
std::cout << "Maxima at positions " << endl;
std::cout << maxIndex << std::endl;
std::cout << "maxVal " << maxVal << endl;
}
这里的问题是我的线
VectorXf maxVal = mat.rowwise().maxCoeff(&maxIndex);
是错的。原来的例子有
float maxNorm = mat.rowwise().sum().maxCoeff(&maxIndex);
即有一个额外的减少 .sum() 涉及。有什么建议么?我想我只想要与我在matlab中写的相同的特征
[maxval maxind] = max(mymatrix,[],2)
即找到最大值和它在 mymatrix 的第二维上的索引并返回 (nrow(mymatrix),2) 矩阵。谢谢!
(也发送到特征列表,抱歉交叉发布。)