How to get an array of all field elements of a 1xN structure?
Show older comments
Hi. I was not able to find an answer to my question, so I am asking it here. Is there a more direct way to get an array of all elements of a structure.field?
What I want is a direct one-liner which gives me the same as:
for ii = 1:length(Results)
Test(ii,1) = Results(ii).end_dates;
end
(Test is a 222x1 array)
something like:
Test = Results(:).end_dates
whereby this line somehow just gives me Results(1).end_dates, so just the first element of the field...
This is my structure: (a little bit small here, so also as an attachement)

2 Comments
Matt
on 14 Mar 2019
Hi Sebastian,
You can do something like this with the commands:
Test = {Results.mid_time}
if you want the results in a cell array, or
Test = [Results.mid_time]
if you want the results in a vector.
Results.mid_time gives you a comma separated list of the elements, and the brackets {} or [] concatenate them together into an array.
I hope this helps.
Matt
Accepted Answer
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!