Filter löschen
Filter löschen

Index of NaN Values

126 Ansichten (letzte 30 Tage)
Tiago Dias
Tiago Dias am 23 Jul. 2018
Bearbeitet: Walter Roberson am 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 Kommentare
jonas
jonas am 23 Jul. 2018
Is it really necessary to save the indices in that form? You should read about the find function.
Tiago Dias
Tiago Dias am 23 Jul. 2018
yeah, but i would like to eliminate the zeros as well.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by