跨维度的计算平均值

时间:2019-06-12 22:57:37

标签: arrays matlab average mean

初学者MATLAB问题 我在具有相同尺寸(23746 x 35)的单独数组中有4个变量(beam1,beam2,beam3,beam4)。我想计算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个单独数组的平均值?

非常感谢

1 个答案:

答案 0 :(得分:1)

不是简单地做

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

给你想要的吗?

请注意,通常只有一个变量名(如您所拥有的)与一个附加的整数不同,这是一个坏习惯。您最好将数据创建为3维数组,其中

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

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

这也意味着无论您沿第3维计算出的平均束数是多少

beam_mean = mean(beam_data,3);