Index of NaN Values

173 visualizzazioni (ultimi 30 giorni)
Tiago Dias
Tiago Dias il 23 Lug 2018
Modificato: Walter Roberson il 23 Lug 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 Commenti
jonas
jonas il 23 Lug 2018
Is it really necessary to save the indices in that form? You should read about the find function.
Tiago Dias
Tiago Dias il 23 Lug 2018
yeah, but i would like to eliminate the zeros as well.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 23 Lug 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

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by