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

3 vues (au cours des 30 derniers jours)
Elaheh
Elaheh le 20 Jan 2019
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 commentaires
Rik
Rik le 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 le 20 Jan 2019
Modifié(e) : Stephen23 le 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).

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 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.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays 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