首页 > 解决方案 > 跨维度计算平均值

问题描述

初学者 MATLAB 问题我有 4 个变量(beam1、beam2、beam3、beam4)在具有相同尺寸(23746 x 35)的单独数组中。我想计算 4 个数组的平均值,以便在一个大小相同(23746 x 35)的数组中得到答案。换句话说,我想平均第一维中的值。

x = 光束1,光束2,光束3,光束4 xx = 平均值(x,1)

给出一个 1x35 数组和

x = 光束1,光束2,光束3,光束4 xx = 平均值(x,2)

给出一个 23746x1 数组

如何在新数组中保持相同的尺寸 (23746 x 35) 并计算 4 个单独数组的平均值?

非常感谢

标签: arraysmatlabaveragemean

解决方案


不只是做

xx = (beam1 + beam2 + beam3 + beam4)/4

给你想要的?

请注意,变量名称仅与您所拥有的附加整数不同,这通常是一种不好的做法。您最好将数据创建为 3 维数组,其中

beam_data = beam1;
beam_data(:,:,2) = beam2;
beam_data(:,:,3) = beam3;
beam_data(:,:,4) = beam4;

这样,如果您有更多(或更少)的光束,那么您就不会出现变量的扩散。

这也意味着无论您有多少光束,均值将沿第三维计算

beam_mean = mean(beam_data,3);

推荐阅读