find function exceeds matrix dimensions?

2 次查看(过去 30 天)
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),:)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by