2013-05-14 137 views
3

我有一维数组,我需要计算它的平均值。二维数组的平均值

我想:

A = mean(mean(PSNRarr,2),2)

,但我得到一个错误。

如果有人知道如何使其工作,它将是伟大的!

回答

4

尝试

mean(mean(PSNRarr)) 

多个字符拿到过SO最低

+1

+ 1为紧凑但良好的答案和最后的评论:D – 2013-05-14 09:48:38

+0

我试过这个,但我得到: ???对'cell'类型的输入参数未定义的函数或方法'sum'。 y = sum(x)/ size(x,dim);其中y = sum(x)/ size(x,dim); 错误==>演示157 AvgPSNR = mean(mean(PSNRarr)); – user1673206 2013-05-14 09:48:49

+0

对不起。有用!我的坏... – user1673206 2013-05-14 09:53:53

5

,对于尺寸的任何工程量最简单的方法(假设它是一个普通矩阵):

mean(PSNRarr(:)) 

但是,如果你有一个数字的单元阵列,请尝试:

mean(mean(cell2mat(PSNRarr))) 
+0

+1:我认为你的解决方案更好;更少的计算工作,更优雅。在最后一种情况下,你甚至可以做'mean([PSNRarr {:}])'(当然这取决于PSNRarr的具体细节)。 – 2013-05-14 11:32:16

+1

我觉得这个答案比较好。 – 2013-05-14 12:21:38