Is it possible to access all nested structures in symmetrical struct tree?

6 views (last 30 days)
I have a struct looking something like this:
struct.nested1.data
struct.nested2.data
struct.nested3.data
Is there a way to access all .data nested structures? Similar to how in UNIX you can do something like
ls folder/*/subfolder
to list the contents of all subfolders.

Accepted Answer

Rajanya
Rajanya on 18 Nov 2024
You can use ‘structfun’ for this purpose. It applies a function to each field in a scalar structure. For example, the ‘data’ members to an example nested structure ‘struct’ can be listed out as follows:
struct.nested1.data = 'a';
struct.nested2.data = 'b';
struct.nested3.data = 'c';
structfun(@(x) disp(x.data), struct);
a b c
For more details on the various ways to use ‘structfun’, you can refer to the documentation by running the following command in the MATLAB Command Window:
doc structfun
Hope this helps!

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!