How can I get the min/max value of all fields in a stucture
Mostra commenti meno recenti
I would like to obtain the minimum and maximum value in my structure which contains multiple fields.
structure_1.field_01
structure_1.field_02
structure_1.field_03
structure_1.field_04
I require something like-
min_val = min(struct.(:));
Is this possible using one function?
thanks in advance,
Marcus
1 Commento
Daniel Shub
il 11 Ott 2012
What is in field_01? Is it a scalar, a n-d double array, something else? How about field_02? Is it the same class and size as field_01?
Risposta accettata
Più risposte (1)
Daniel Shub
il 11 Ott 2012
Assuming the contents of the fields are well behaved ...
structure_1.field_01 = rand(1, 1);
structure_1.field_02 = rand(1, 10);
structure_1.field_03 = rand(10, 1);
structure_1.field_04 = rand(10, 10);
structure_1.field_05 = rand(10, 10, 10);
min(cellfun(@(x)min(structure_1.(x)(:)), fieldnames(structure_1)))
By well behaved I mean min(structure_1.field_01(:)) needs to return a scalar double.
Categorie
Scopri di più su Structures in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!