reference a structure array

9 visualizzazioni (ultimi 30 giorni)
Duaa
Duaa il 12 Ott 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??

Risposta accettata

Laura Proctor
Laura Proctor il 12 Ott 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

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by