Azzera filtri
Azzera filtri

separate empty cells (NaN) from others

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 25 Lug 2015
Modificato: Azzi Abdelmalek il 25 Lug 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 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 25 Lug 2015
Modificato: Azzi Abdelmalek il 25 Lug 2015
Ok, try this
id12=~cellfun(@(x) all(isnan(x)),c12)
Amr Hashem
Amr Hashem il 25 Lug 2015
thanks. جزاكم الله خيرا
it works ...

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by