how to remove NaN
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a m x n cell array. I want to search the 6th column for Nan cells and delete the entire row with the NaN cell.
tried: M( all( isnan( M ), 2 ), : ) = []; but get the following error: Undefined function 'isnan' for input arguments of type 'cell'.
1 Kommentar
Kye Taylor
am 12 Jun. 2013
Bearbeitet: Kye Taylor
am 12 Jun. 2013
Although this command is causing the error
M( all( isnan( M ), 2 ), : ) = [];
it appears that you're trying to delete rows where all entries are NaNs. But you say you want to delete rows that contain a NaN in the sixth column. Which is it?
Antworten (2)
Kye Taylor
am 12 Jun. 2013
You're very close try
% idx(i) is true if contents in row i, column 6 of M equals NaN
idx = cellfun(@isnan,M(:,6))
% delete row with nan in it
M(idx,:) = [];
0 Kommentare
Andrei Bobrov
am 12 Jun. 2013
M = {3 [4 5] nan;[2 4] 'dfgh' [7 8 3]};
ii = ~cellfun(@(x)all(isnan(x(:))),z(:,3));
out = M(ii,:);
0 Kommentare
Siehe auch
Kategorien
Mehr zu NaNs finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!