Finding the mean of each column of each double within a structure
    조회 수: 2 (최근 30일)
  
       이전 댓글 표시
    
Hello! I would like to find the mean of each double within this structure (named beh_data). Each double contains 4 columns. I would like to have the mean of each column (ideally the 2nd, 3rd and 4th column only), for each double. 

I have tried various things eg: 
MeanMovementPerTrial = [];
    for i = 1:length (beh_data)
        MeanMovementPerTrial(i) = structfun (@mean,beh_data.data(i),'UniformOutput',false); 
    end
Or even simpler stuff, but I keep getting different errors. Do you know how I can do this? Thank you =)
댓글 수: 1
채택된 답변
  dpb
      
      
 2022년 8월 29일
        Something like
M=arrayfun(@(s)mean(s.Data(:,2:end)),beh_data,'UniformOutput',0).'; % calculate the means
M=cellfun(@(c)struct('Means',c),M,'UniformOutput',1);               % put them in a new struct array
Use arrayfun to iterate over the struct array, returning a cell array of the means.  Then convert those to a new struct array by operating on each via cellfun.  
If one were really a glutton for trying to play "MATLAB golf", see if can figure out and keep straight doing both in one line... :)
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!