How can I find the nonzero values in an cells array?.

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 Comments

What result do you want/need? Just the total number of nonzero elements in each Index1 array, or information on number per row/column inside?
Yro
Yro on 11 Jan 2021
Edited: Yro on 11 Jan 2021
Hi, thanks for your answer, I need the number of non-zero values in each row of the Index1 array.
Thanks.
Thanks, but I need the number of non-zero values in each row, nnz function return the number of the nonzeros values in the full array.

Sign in to comment.

 Accepted Answer

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 Comments

Thanks,
I tried that but I get the following error:
error: Index(2,_): out of bound 1 (dimensions are 1x6)
I don't know why the dimensions are right.
Thanks a lot
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
I found an error in the other part of my code that generated the array,
Thanks for your time.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2019a

Asked:

Yro
on 11 Jan 2021

Commented:

Yro
on 12 Jan 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!