Access automatically substructures from loop
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Steven Lord
2020-3-24
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!