Filter löschen
Filter löschen

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

6 Ansichten (letzte 30 Tage)
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 =)

Akzeptierte Antwort

dpb am 29 Aug. 2022
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... :)

Weitere Antworten (0)


Mehr zu Structures finden Sie in Help Center und File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by