Clear Filters
Clear Filters

How to count NaN elements in n dimentional matrix, using counter in loop?

33 views (last 30 days)
How to count NaN elements in n dimentional matrix, using counter in loop?

Answers (2)

madhan ravi
madhan ravi on 1 Jan 2019
Edited: madhan ravi on 1 Jan 2019
Without loop:
A=rand(2,2,2); % a short example with 3D matrix
A(2,2,1)=NaN; % just insert nan values to check
A(2,2,2)=NaN;
NaNs_present=nnz(isnan(A))
With loop(not necessary though):
A=rand(2,2,2);
A(2,2,1)=NaN;
A(2,2,2)=NaN;
Result=cell(1,size(A,1));
ctr=1;
for i = 1:size(A,1)
for j = 1:size(A,2)
for k = 1:size(A,3)
Result{ctr}=isnan(A(i,j,k))
ctr=ctr+1;
end
end
end
NaNs_present=nnz([Result{:}])

Stephen23
Stephen23 on 1 Jan 2019
Where A is your array:
cnt = 0;
for k = 1:numel(A)
cnt = cnt+isnan(A(k));
end

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!