Averaging mutiple structures to get a single mean waveform

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,

 채택된 답변

Srivardhan Gadila
Srivardhan Gadila 2020년 5월 1일
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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Signal Processing Toolbox에 대해 자세히 알아보기

제품

태그

Community Treasure Hunt

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

Start Hunting!

Translated by