How can I find the nonzero values in an cells array?.
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
David Hill
el 11 de En. de 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 comentarios
David Hill
el 11 de En. de 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
Más respuestas (0)
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!