Effacer les filtres
Effacer les filtres

How to get an array of all field elements of a 1xN structure?

72 vues (au cours des 30 derniers jours)
Sebastian
Sebastian le 14 Mar 2019
Commenté : MD Titoo le 6 Nov 2022
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 commentaires
Matt
Matt le 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
Sebastian
Sebastian le 14 Mar 2019
Modifié(e) : Sebastian le 2 Juil 2020
Yeah thank you very much!
Continually learning new stuff =)

Connectez-vous pour commenter.

Réponse acceptée

Adam Danz
Adam Danz le 14 Mar 2019
Modifié(e) : Adam Danz le 14 Mar 2019
If the values stored in .end_dates are scalars,
Test = [Results(:).end_dates]'; %Test will be column vector
If the values stored in .end_dates are row vectors of identical length,
Test = cell2mat({Results(:).end_dates}'); %Test will be matrix
If the values stored in .end_dates are column vectors of identical length,
Test = [Results(:).end_dates]; %Test will be a matrix
If the values stored in .end_dates are strings or matricies of uneqal size,
Test = {Results(:).end_dates}'; % Test will be a columnar cell array
  3 commentaires
Adam Danz
Adam Danz le 14 Mar 2019
Glad I could help!
MD Titoo
MD Titoo le 6 Nov 2022
thanks for the answer. Took me a while to find it.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by