2013-05-14 109 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