2016-09-29 98 views
1

的平均假設我們有此單元陣列:計算嵌套細胞

data = {{[1,2,3],[3,6,3]},{[6,8,2],[1,1,1]},{[4,8,3],[1,2,3]},{[5,1,3],[1,0,2]}}; 

我們有四個主要的細胞和在每個細胞中,我們有兩個細胞。我想要這樣的四個主要單元之間的平均值:

Average 1 between: 
1 2 3 
6 8 2 
4 8 3 
5 1 3 
--------- 
4 4.75 2.75 

Average 2 between: 
3 6 3 
1 1 1 
1 2 3 
1 0 2 
--------- 
1.5 2.25 2.25 

最後,我們應該收集這兩個結果在一個單元格數組。使用最少的循環次數,最快的方法是什麼?

+3

爲什麼你的細胞,而不是矩陣? 3D矩陣將成爲你的朋友。 – Adriaan

+0

@adriaan ..目前我將結果存儲在'data'中。有沒有更好的方法來做到這一點添加你的答案:-) – user2991243

+1

是的,將它們存儲在3D矩陣中。我無法添加答案,因爲我不知道如何創建數據。 – Adriaan

回答

3

關注阿德里安的提醒,但:

x = reshape([data{:}],2,[])'; 
means = reshape(mean(cell2mat(x)),[],2)'  
means =  
    4.0000 4.7500 2.7500 
    1.5000 2.2500 2.2500