How can I find the nonzero values in an cells array?.
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
David Hill
am 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 Kommentare
David Hill
am 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!