2017-12-28 43 views
-1

私はちょうど取得するように、各列の8行全体を意味する、私は、以下の次元の要素でセルアレイ次元64x8を持ってどのようにMATLABのセル配列の要素の平均を計算するには?

520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 
520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 
520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 520x1 double 
................... 

は、今私はを取る必要があります1つの行につき1つのセルが520X1です。

ので、行全体で意味適用した後、私の出力だから、何かのように、

520x1 double 
520x1 double 
520x1 double 
520x1 double 
............ 

する必要があり、私の出力が64x8から変換64x1セルアレイだろう。

iは、次のコマンドでこれを行うと試み、

avgCell = {平均(CAT(図3に示すように、Cは、{。})、3)}

は、しかし、それは1X1を与えます次元のセルが1つだけのセル配列520X1

私を親切に修正し、これに対処する機能があれば教えてください。また、これを行うためにループが必要かどうかを教えてください。

+0

Mh ...行の賢明な平均を計算すると、実際にはどのようにそれが520x1ベクトルであると予想していますか? –

+0

http://idownvotedbecau.se/noresearch/ –

+0

ベクトルが常に均一であれば、現在のセル配列の各行が2Dスライスである3D配列を使用する方がよいでしょう。 – excaza

答えて

0
% Create sample data... 

A = cell(64,8); 

for i = 1:64 
    for j = 1:8 
     A{i,j} = rand(520,1); 
    end 
end 

% Calculate column-wise means... 

B = mean(cell2mat(A),2); 

% Reshape the result into a cell array... 

C = mat2cell(B,repmat(520,64,1),1); 
関連する問題