find function exceeds matrix dimensions?

5 vues (au cours des 30 derniers jours)
Sarah Goldsmith
Sarah Goldsmith le 31 Juil 2016
Commenté : Sarah Goldsmith le 31 Juil 2016
I'm trying to remove rows that contain Nans in two columns of a dataset. The dataset itself is 9895 x 26, but when I run the following code,
hh1 = hh1(~isnan(hh1(:, 19:20)),:);
it returns 'Index exceeds matrix dimensions' Further investigation revealed that when I run
find(~isnan(hh1(:, 19:20)))
it returns values ranging from 7037 to 19790, which is a problem because, as previously mentioned, the size of the dataset is only 9895 x 26.
Any idea what's going on?

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 31 Juil 2016
Modifié(e) : Azzi Abdelmalek le 31 Juil 2016
Depending on what you want, if the two columns should be equal to nan
hh1 = hh1(~all(isnan(hh1(:,19:20)),2),:)
%or if at least one column is equal to nan
hh1 = hh1(~any(isnan(hh1(:,19:20)),2),:)
  1 commentaire
Sarah Goldsmith
Sarah Goldsmith le 31 Juil 2016
Yes, thanks! The second one is what I was looking for!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by