2016-09-29 10 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]}}; 

我々は4個の主要な細胞を持っており、すべてのセルに、我々は二つのセルを持っています。私は、このような4つのメインセルの平均値を求めます。

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 

最後に、この2つの結果をセル配列に集めます。最低限のループ数で、これを行う最速の方法は何ですか?

+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