可以使用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()函数可以求每列的平均值。最终得到的是一行向量,即每列的平均值。

C++ Eigen库实现二维数组平均算法

原文地址: https://www.cveoy.top/t/topic/mzLW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录