Arrays 跨维度计算平均值
初学者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个单独数组的平均值 非常感谢不仅仅是做Arrays 跨维度计算平均值,arrays,matlab,average,mean,Arrays,Matlab,Average,Mean,初学者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个单独数
xx=(beam1+beam2+beam3+beam4)/4
给你想要的
请注意,变量名之间只相差一个附加整数,这通常是一种不好的做法。最好将数据创建为三维数组,其中
beam_data = beam1;
beam_data(:,:,2) = beam2;
beam_data(:,:,3) = beam3;
beam_data(:,:,4) = beam4;
通过这种方式,如果你有更多(或更少)的光束,那么你就不会有大量的变量
这也意味着,无论有多少束光束,平均值都将沿三维方向计算
beam_mean = mean(beam_data,3);
你可以发布完整的代码,包括波束阵列吗?谢谢Phil,是的,你的第一个解决方案现在看起来很明显!我边走边学,第二部分也很有意义。@lisse欢迎来到SO。如果菲尔提供的答案解决了您的问题,请将其标记为已接受的答案(单击旁边的勾号),以便您的问题在黑板上显示为已解决。