deleting NaNs in a column without changing the size of the matrix

4 views (last 30 days)
Hi
I used this script to delete a few NaN s I have in column 5 of a file, However, the size of the matrix changed too. How should I change the edit the script to keep the size of the matrix the same?
Than you
dataEEG(isnan(dataEEG(:,5)),:) = [];
  3 Comments
Rik
Rik on 20 Jan 2019
Even sparse matrices have a value at the positions that aren't filled. The only data type that can have empty elements is the cell:
C={1,[],3;4,5,6}
Stephen23
Stephen23 on 20 Jan 2019
Edited: Stephen23 on 20 Jan 2019
"The only data type that can have empty elements is the cell:"
Although that cell itself is not empty, only the array inside that cell. A cell array cannot have holes in it either: every cell is a scalar cell (regardless of what it contains).

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 20 Jan 2019
No you can't. If you delete the rows, the matrix will shrink. What you can do is to either set the nan elements to some known, constant value, or to fill in the nan regions with data from surrounding regions with something like regionfill() or a modified median filter. Would you like to do that? With regionfill() there is no max region size to fill in, but for a modified median filter you'd have to know the largest size of nan region in advance, which you can find.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!