How can I refer to all fields (of a particular level) within a structure?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Example: I have a struct such as this (simplified): Students.Gender.Height
I want to refer to and operate upon all fields regardless of gender. So, Students.Boy.6feet or Students.Girl.6feet would both be affected by the operation. Not a great example, but I hope I am conveying the need here. Is there a wildcard or () or {} type of way to index or refer to all fields of the "gender" level?
0 Kommentare
Akzeptierte Antwort
James Tursa
am 5 Jul. 2018
What "works" is probably going to depend on what is contained in the sub-fields and what you intend to do with this data downstream in your code. E.g., for your simplistic example if you wanted to extract the data (assuming the Height was scalar):
result = cellfun(@(x)Students.(x).Height,fieldnames(Students))
That would give you a result variable that you could use downstream.
Maybe you could give us more detail on the fields of your structure, and what operations you intend.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!