Mean of a 3D struct with 6 fields

조회 수: 1 (최근 30일)
ErikaZ
ErikaZ 2018년 8월 22일
답변: Walter Roberson 2018년 8월 22일
I have a 3D struct with 6 fields.
The struct is a 17x10x16 and each field is a 1x10 array.
I want to calculate the mean of the 10 values in each field. Some of the 3D spaces are empty and needs to fill with NaNs.
So then I can create a separate 17x10x16 array for each field.
Thank you!

채택된 답변

Walter Roberson
Walter Roberson 2018년 8월 22일
Letting YS be Your Structure,
fn = fieldnames(YS);
for K = 1 : length(fn)
fin = fn{K};
means.(fin) = reshape(mean(vertcat(YS.(fin)),2),size(YS));
end
This will produce a structure means with field names the same as the field names in YS, each of which is an array that is the mean of the field at the corresponding structure entry.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by