C++ Eigen库实现二维数组平均算法
可以使用Eigen库提供的行向量和矩阵操作实现将N4的二维数组平均为N1的数组功能。
示例代码:
#include <iostream>
#include <Eigen/Dense>
using namespace std;
using namespace Eigen;
int main() {
MatrixXf mat(3, 4); // 创建3行4列的矩阵
mat << 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12;
RowVectorXf mean = mat.colwise().mean(); // 按列求平均值,得到行向量
cout << '原矩阵:' << endl << mat << endl;
cout << '平均值:' << endl << mean << endl;
return 0;
}
输出结果:
原矩阵:
1 2 3 4
5 6 7 8
9 10 11 12
平均值:
5 6.66667 8.33333 10
其中,colwise()函数可以将矩阵按列进行操作,mean()函数可以求每列的平均值。最终得到的是一行向量,即每列的平均值。
原文地址: https://www.cveoy.top/t/topic/mzLW 著作权归作者所有。请勿转载和采集!