Hi Guys,
How can I find the exact location of NaN elements in a matrix. I work with really large arrays (size 1500*200).
How can I find which row has a NaN value in a column matrix or vice versa.?
Thanks
N

 Réponse acceptée

Walter Roberson
Walter Roberson le 12 Oct 2011

41 votes

[row, col] = find(isnan(YourMatrix));

6 commentaires

Wayne King
Wayne King le 12 Oct 2011
@Walter Now, that's a better way :)
NS
NS le 12 Oct 2011
Works fine. Thanks Walter. :)
Jaspalsingh Virdi
Jaspalsingh Virdi le 16 Août 2018
Thanks for a quick help even my data was too lARGE
Anirban Mandal
Anirban Mandal le 19 Mar 2020
thanks for providing an efficient solution
Ana Paulina García
Ana Paulina García le 5 Oct 2020
for me this actually creates a 1x0 variable named row and another one named col. None of the variables tells me the index :(
Whitney
Whitney le 22 Nov 2021
An empty result means that there are no NaNs in the martix

Connectez-vous pour commenter.

Plus de réponses (3)

Wayne King
Wayne King le 12 Oct 2011

6 votes

One way:
X = ones(10,4);
X(3,4) = NaN;
indices = find(isnan(X) == 1);
[I,J] = ind2sub(size(X),indices);
bym
bym le 12 Oct 2011

0 votes

isnan()

1 commentaire

NS
NS le 12 Oct 2011
This gives me just an array of 0 and 1. I need more precise info :(

Connectez-vous pour commenter.

Elizabeth Drybrugh
Elizabeth Drybrugh le 3 Mai 2018
Modifié(e) : Elizabeth Drybrugh le 3 Mai 2018

0 votes

Do this to get the sum
sum(isnan(x))
For other functions, it depends on what you actually need....

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by