Finding the mean of each column of each double within a structure

조회 수: 1(최근 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,,'UniformOutput',false);
Or even simpler stuff, but I keep getting different errors. Do you know how I can do this? Thank you =)
  댓글 수: 1
David Hill
David Hill 2022년 8월 29일
We would be better able to help you if you attached your data.

댓글을 달려면 로그인하십시오.

채택된 답변

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개)


Find more on Loops and Conditional Statements in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by