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

4 ビュー (過去 30 日間)
Elaheh
Elaheh 2019 年 1 月 20 日
回答済み: Image Analyst 2019 年 1 月 20 日
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 件のコメント
Rik
Rik 2019 年 1 月 20 日
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 2019 年 1 月 20 日
編集済み: Stephen23 2019 年 1 月 20 日
"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).

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

採用された回答

Image Analyst
Image Analyst 2019 年 1 月 20 日
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.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by