Find the index of nonempty array in a structure for a particular field
15 views (last 30 days)
Show older comments
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 Comment
Cedric
on 23 Jul 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?
Accepted Answer
Andrei Bobrov
on 23 Jul 2015
Edited: Andrei Bobrov
on 23 Jul 2015
find(~cellfun(@isempty,{select.c}))
More Answers (1)
Jos (10584)
on 23 Jul 2015
Edited: Jos (10584)
on 23 Jul 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 Comments
See Also
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!