2017-12-28 43 views
-1

은 내가 cellarray이 matlab에 cellarray의 요소에 걸쳐 평균을 계산하는 방법?

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 ................... 

지금 난 그냥 얻을 수 있도록, 각 열에서 8 행에 걸쳐
을 의미 를 취할 필요가 차원 다음과 같은 차원의 요소와 64x8, 하나의 행당 셀 520X1.

때문에, 행에 걸쳐 의미 적용한 후, 내 출력은
520x1 double 
520x1 double 
520x1 double 
520x1 double 
............ 

그래서, 내 출력 64x8에서 형질 전환 된 64x1 셀 어레이가 될 것 같은 것을해야한다.

난 다음 명령 이렇게하여 시도

avgCell = {평균 (CAT (3, C는 {}), 3)}

하지만, 그것은 1X1을 준다 치수가 하나의 셀만있는 셀 어레이 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);