find function exceeds matrix dimensions?

5 ビュー (過去 30 日間)
Sarah Goldsmith
Sarah Goldsmith 2016 年 7 月 31 日
コメント済み: Sarah Goldsmith 2016 年 7 月 31 日
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?

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 7 月 31 日
編集済み: Azzi Abdelmalek 2016 年 7 月 31 日
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 件のコメント
Sarah Goldsmith
Sarah Goldsmith 2016 年 7 月 31 日
Yes, thanks! The second one is what I was looking for!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by