Access lower level fields in structure

10 views (last 30 days)
I have a structure that is setup as follows.
foo.check.W = 1
foo.check1.W = 2
foo.check2.W = 3
I would like to quickly grab all the data in foo.(all fields).W and save it to an array that i can plot it. I know i could do:
fnames = fieldnames(foo)
for i =1:length(fnames)
Wdata(i) = foo.(fieldnames(i)).W
end
But would like to know if there's a quick way to access the data without using loops.

Accepted Answer

galaxy
galaxy on 25 Oct 2019
Let 's try
sm = table2array(cell2table(struct2cell(foo)));
Wdata = [sm(:).W];

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!