# finding cells with positive values in a cell array with empty cells, cells of positive integers, and cells of nans

3 views (last 30 days)
Levente Gellért on 1 Mar 2021
Answered: Levente Gellért on 2 Mar 2021
Dear Experts,
I would like to have the number and indices of cells with positive values in a cell array with cells of positive integers, empty cells and nans.
The solutions I have found in this topic were not suitable.
Many thanks
LG
dpb on 1 Mar 2021
"solutions I have found in this topic were not suitable."
So, what were those? No point in repeating the unwanted...
Levente Gellért on 1 Mar 2021
Dear dpb,
I was playing around with the following suggestions;
OutOfRange = (mycell > 0);
NrOutOfRange = sum(OutOfRange);
or
idx = find([mycell{:}] > 0);
or
idx = cellfun(@(x)~isempty(x) && x > 0, mycell);
Regards
lg

dpb on 1 Mar 2021
Edited: dpb on 1 Mar 2021
>> idx=cellfun(@(c)any(c>0),co_burst);
>> whos idx
Name Size Bytes Class Attributes
idx 856x340 291040 logical
>> sum(idx,'all')
ans =
72
>>
or, the locations...
>> [r,c]=ind2sub(size(idx),find(idx));
>> [r(1:5) c(1:5)]
ans =
5 1
8 4
31 13
34 15
55 25
>>

Levente Gellért on 2 Mar 2021
Dear dpb, great, many thanks, works well. The 'all' option for sum works from 2018 I,think, but I could overcome the issue.
Thanks again.
Regards
lg