How to count the number of zero subcells in a cell?
Ältere Kommentare anzeigen
I have a cell array 12*32. each element of my cell contains 32 data. for example C{11,32}='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ' . I want to count how many of zero array like above is there in my cell. could any one help me? thanks
3 Kommentare
Walter Roberson
am 18 Jan. 2016
Insufficient information about what else might be in the string, and whether you also need to find 0's expressed as 0. or .0 or 0.0 or 0.E+0 (and so on)
Fateme Jalali
am 18 Jan. 2016
Star Strider
am 18 Jan. 2016
Antworten (2)
If you have a cell array of matrices:
C{1,1} = ones(1,32);
C{1,2} = 2*ones(1,32);
C{2,1} = zeros(1,32);
C{2,2} = zeros(1,32);
N = nnz(cellfun(@(x) nnz(x)==0, C));
If you have a cell array of cells, an additional cell2mat is needed:
C = {{rand(5,1)}, {rand(7,1)}, {zeros(6,1)}, {rand(7,1)}, {0 1 2 3}, {-1 1}};
N = nnz(cellfun(@(x) nnz(cell2mat(x))==0, C));
Walter Roberson
am 18 Jan. 2016
Most of the code can be replaced.
tt2u = unique(tt2{1}, 'rows');
tt3u = unique(tt3{1}, 'rows');
number_of_similar_chunks = sum( ismember(tt2u, tt3u) );
However you should clarify how you want the counting to occur if there are duplicate entries in one of the array that match the other array.
Kategorien
Mehr zu Cell Arrays finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!