loop through a multi layered structure
Mostra commenti meno recenti
I have a dataset that consist of a structure in a structure, etc...,
example: data (1x1 struct) with 5 fields (body parts), consists of: - head(1x1 struct), torso(1x1 struct),arm(1x1 struct), leg(1x1 struct), feet(1x1 struct). each struct consists again of 4 fields(types of bones) and these fields consist of 12 fields (measurements),these 12 fields are the same for all bones and body parts.
I want to be able to do a calculation on a specific measurement field of each bone of each body part. How do I do this? So I want to make a loop that goes for example to head.1bone.angle and does the calculation (mean) there and then go to head.2bone.angle, etc.. then to torso.1bones.angle etc... Is this possible to do this?
Risposta accettata
Più risposte (2)
Azzi Abdelmalek
il 13 Ago 2014
0 voti
Use structfun function
Guillaume
il 13 Ago 2014
Or using structfun, if you want the result as a structure:
structfun(@(part) structfun(@(bone) mean(bone.angle), part, 'UniformOuput', false), data, 'UniformOutput', false)
You can do away with the first UniformOutput but not the second.
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!