Effacer les filtres
Effacer les filtres

Find the index of nonempty array in a structure for a particular field

28 vues (au cours des 30 derniers jours)
naman
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
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?

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
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)
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)

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!

Translated by