Index of NaN Values
130 views (last 30 days)
Show older comments
Tiago Dias
on 23 Jul 2018
Edited: Walter Roberson
on 23 Jul 2018
Hello,
My objective is to know the index of NaN values per column.
y = [1,2;NaN,4;5,NaN;7,8;9,NaN]
idx = isnan(y)
for j = 1:m
for i = 1:n
if idx(i,j) == 1
idx_all(i,j) = i
end
end
end
I get a result of
idx_all = 0 0
2 0
0 3
0 0
0 5
I would like the result to be something like
idx = [2 3
0 5]
Because the 1st column has just one NaN on row 2, and the 2nd column has NaN for row 3 and 5.
Thanks.
2 Comments
jonas
on 23 Jul 2018
Is it really necessary to save the indices in that form? You should read about the find function.
Accepted Answer
Walter Roberson
on 23 Jul 2018
A loop is easiest.
nc = size(y,2);
idx = zeros(0, nc);
for C = 1 : nc
nidx = find(isnan(y(:,C)));
idx(1:length(nidx), C) = nidx;
end
More Answers (0)
See Also
Categories
Find more on Matrix Indexing 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!