Find the index of nonempty array in a structure for a particular field
28 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
naman
le 23 Juil 2015
Commenté : Ali A. Ghafari
le 10 Jan 2020
Hi I have a structure with one field e.g. select(i).c, where i=1,...,N. I want to find the index i for which select(i).c is nonempty. How can I do it ? Thanks
1 commentaire
Cedric
le 23 Juil 2015
select is a struct array actually. Do you need the index of the non-empty content or would the content be enough? And what is the type/class of what is stored in field c?
Réponse acceptée
Andrei Bobrov
le 23 Juil 2015
Modifié(e) : Andrei Bobrov
le 23 Juil 2015
find(~cellfun(@isempty,{select.c}))
Plus de réponses (1)
Jos (10584)
le 23 Juil 2015
Modifié(e) : Jos (10584)
le 23 Juil 2015
use ARRAYFUN
% create some data
for j=1:10, select(j).c = repmat(j,round(rand(1))) ; end
% engine
tf = arrayfun(@(k) ~isempty(select(k).c), 1:numel(select))
idx = find(tf)
0 commentaires
Voir également
Catégories
En savoir plus sur Structures 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!