Averaging mutiple structures to get a single mean waveform

1 view (last 30 days)
Hi,
I have a structure called Results.
Within this structure I have x amount of fields. Each field having a 1xn structure. I would then like to make an average waveform from the 1xn structure for each field.
Conceptually, this is a very basic thing to do, but struggling to apply it.
Many thanks,

Accepted Answer

Srivardhan Gadila
Srivardhan Gadila on 1 May 2020
The following code might help you:
clear all
a(1).waveforms = rand(101,1);
a(2).waveforms = rand(101,1);
a(3).waveforms = rand(101,1);
Results.a = a;
Results.b = a;
Results.c = a;
fieldNames = fieldnames(Results);
for i = 1:numel(fieldNames)
res = arrayfun(@(x)x.waveforms,Results.(fieldNames{i}),'UniformOutput',false);
resMat = cell2mat(res);
avgWaveforms.(fieldNames{i}) = mean(resMat,2);
end
avgWaveforms
Refer to arrayfun & mean for more information and related examples.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!