separate empty cells (NaN) from others
1 view (last 30 days)
Show older comments
Amr Hashem
on 25 Jul 2015
Commented: Amr Hashem
on 25 Jul 2015
I have a table of cells ( ex: 100*75 cell)
and i want to focus on column 12 , if any cell in it is NaN (empty) , i want to separate its row from the table.
i use this code:
[ndata text alldata] = xlsread('mdr1.xls','sheet1');
[R1,C1]=size(alldata);
j=1;
K=1;
for i=1:size(alldata,1)
if isnan(alldata{i,12})
Ndate(j)=i;
j=j+1;
else
Ydate(K)=i;
K=K+1;
end
end
NAdate=alldata(Ndate,:);
DDate=alldata(Ydate,:);
xlswrite('separate.xls',DDate,1);
xlswrite('separate.xls',NADate,2);
it works...
but
I wonder if anyone has an idea to modify this code.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 25 Jul 2015
Edited: Azzi Abdelmalek
on 25 Jul 2015
If A is your cell array
c12=A(:,12)
id12=~cellfun(@isnan,c12)
out=A(id12,:)
If you want the part containing nan
out1=A(~id12,:)
5 Comments
Azzi Abdelmalek
on 25 Jul 2015
Edited: Azzi Abdelmalek
on 25 Jul 2015
Ok, try this
id12=~cellfun(@(x) all(isnan(x)),c12)
More Answers (0)
See Also
Categories
Find more on NaNs 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!