【问题标题】:Calculation mean across dimensions跨维度计算平均值
【发布时间】:2019-10-27 12:10:47
【问题描述】:

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 个单独数组的平均值?

非常感谢

【问题讨论】:

  • 你能发布完整的代码,包括梁阵列吗?

标签: arrays matlab average mean


【解决方案1】:

不只是做

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);

【讨论】:

  • 谢谢菲尔,是的,你的第一个解决方案现在看起来很明显!我边走边学,第二部分也很有意义。
  • @lisse 欢迎来到 SO。请,如果 Phil 提供的答案解决了您的问题,请将其标记为已接受的答案(单击旁边的勾号),以便您的问题在板上显示已解决。
猜你喜欢
  • 2013-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多