How can I find the nonzero values in an cells array?.
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
The following code generates an cell array Index [1x29], where each cell is an array [29x6]:
for i = 1 : size(P1_cell,1)
for j = 1 : size(P1_cell,2)
[Lia,Lib] = ismember(P1_cell{i,j},PATTERNS_FOR_ERANOS_cell{1},'rows');
Index1(i,j) = Lib % 29x6
end
Index{i} = Index1; % 1x29
end
How can I find the nonzero values in an cells array?, and generate an array with the values from that search. I tried the following loop, but it doesn't work, it creates conflict with the previous one:
for i = 1 : length(Index)
for j = 1 : length(Index)
Non_ceros = length(find(Index{:,i}(j,:))); %% I just need the length of the find function output
end
end
I need help, Thanks in advance.
4 commentaires
Réponse acceptée
David Hill
le 11 Jan 2021
Non_ceros=zeros(length(Index));
for i = 1 : length(Index)
for j = 1 : length(Index)
Non_ceros(i,j) = nnz(Index{i}(j,:));
end
end
3 commentaires
David Hill
le 11 Jan 2021
Works fine for me.
%generates 1x29 Index cell array
for k=1:29
Index{k}=randi(10,29,6)-1;
end
Non_ceros=zeros(length(Index));
for i = 1 : length(Index)
for j = 1 : length(Index)
Non_ceros(i,j) = nnz(Index{i}(j,:));
end
end
%Non_ceros is a 29x29 matrix
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices 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!