reference a structure array

54 Ansichten (letzte 30 Tage)
Duaa
Duaa am 12 Okt. 2011
Hello
My question is simple.
can I reference a structure array; i.e if I have this code
s = struct('f1', [1 2; 3 4], 'f2', [5 6; 7 8]);
if I have for loop to find do some operation on the matrices stored in f1 & f2 like the mean for example. how can I index f1 & f2 in structure s so each time I can call one in the loop??

Akzeptierte Antwort

Laura Proctor
Laura Proctor am 12 Okt. 2011
You can use the fieldnames function and then use parentheses around the fieldname when called with a variable, see the code below:
s = struct('f1', [1 2; 3 4], 'f2', [5 6; 7 8]);
fn = fieldnames(s)
for idx = 1:length(fn)
mv(idx) = mean(s.(fn{idx})(:));
end
  1 Kommentar
Duaa
Duaa am 12 Okt. 2011
Thank you for your help

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by