Access automatically substructures from loop
1 view (last 30 days)
Show older comments
Good morning everybody, I hope everything is good for you,
I am working with large structures and I want to automatize some tasks. If we take the structure that I attached to this message, how do I select the nth matrix of the structure ? Without writing "Example.hello" ?
I would like to do the same as when we take the value of a matrix in the nth position ( matrix(n)).
Have a nice day
1 Comment
Accepted Answer
Steven Lord
on 24 Mar 2020
Rather than depending on the order in which the fields of the struct array are displayed (which can change -- in the following example s and snew contain the same data just in a different order)
s = struct('b',2,'c',3,'a',1)
snew = orderfields(s)
I would use dynamic field names, potentially in conjunction with the fieldnames function, or maybe (if you want to iterate through all the fields of the struct) structfun.
fn = 'b';
b1 = s.(fn)
b2 = snew.(fn)
sSquared = structfun(@(x) x.^2, s)
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements 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!