How do I loop through a structure field which contains multiple arrays?

7 views (last 30 days)
Hi all,
I have a big structure which contains different substructures.
The structure is called 'subjects' and contains information for each subject.
However, I am interested in angles, which are located in subjects.sessions.trials(1).data.angles.
subjects.sessions.trials(1).data.angles contains 28 fields, all being a 1289x1 double, which all have names of different angles.
I want to plot the 28 angles by looping through, but I cannot manage to select what I need in the for loop:
for i = 1:NSessions
plot(subjects.sessions.trials(i).data.angles. ......);
Attached is a snapshot of what the structure field looks like.matlab.PNG
I tried creating a cell array with the 28 names and then use
for i = 1:NSessions
for k = 1:NAngleName
But this is not working.
Thanks in advance.
Inti Vanmechelen
Inti Vanmechelen on 4 Jan 2019
Thank you for your response KSSV.
I did read about getfields, but using 'getfields' still gives me 1x1 struct containing 28 fields which are all 1289x1 doubles. And it is those 1289x1 doubles which I would like to select, which is currently not workin out.

Sign in to comment.

Accepted Answer

Daniele Mascali
Daniele Mascali on 4 Jan 2019
If you want to make your last attempt work, you might use eval:

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by