How can I identify the indices of rows containing all NaNs from matrix?

I have very large matrices, in which some rows contain all NaN. I don't want to remove these rows. But I wish to identify which index contains all NaN. I have seen code for removing such rows, but how can I extract the index value?
I am not very familiar with MATLAB. Thanks in advance.

 Réponse acceptée

Try this:
M = [rand(3,5); NaN(1,5); rand(4,5); NaN(1,5); rand(2,5)]; % Create Data
NaN_rows = find(all(isnan(M),2)); % Identify ‘NaN’ Rows By Index

2 commentaires

Thank you very much. This is exactly what i wanted to do.
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

% idenfity NaN's in the matrix
k = isnan(a);
% find the indices of NaN's
find(k==1);

1 commentaire

Thank you for your reply. This query helps me to identify every NaN in the dataset, not just the rows with all NaN.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by