Access data in a structure array using index
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
After a bit of searching the internet I still haven't come up with a good way to do this without a for loop. I have a structure like the following:
S(1).x{1}=1;
S(1).name{1}='a';
S(1).x{2}=2;
S(1).name{2}='b';
S(2).x{1}=2;
S(2).name{1}='b';
[tf loc]=arrayfun(@(x)ismember('b',x.name),S)
This gives
loc=[2 1]
so I want to access S(1).x(2) and S(2).x(1). Is there a way to extract the data I want into an array without using a loop?
2 commentaires
Azzi Abdelmalek
le 9 Oct 2013
Your question is not clear, the answer is in your question
S(1).x(2)
S(2).x(1)
Réponses (1)
Azzi Abdelmalek
le 9 Oct 2013
Modifié(e) : Azzi Abdelmalek
le 9 Oct 2013
If you want to extract all S.x
v={S.x}
% to have S(1).x(2)
v{1}(2)
1 commentaire
Voir également
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!