Hücre dizisindeki boş hücreleri nasıl algılayabilirim? Boş hücreyi kaldırma komutu a(1) = []
olduğunu biliyorum, ancak MATLAB'ın hangi hücrelerin boş olduğunu otomatik olarak algılayamam.Hücre dizisindeki boş hücreleri nasıl algılayabilirim?
Arka plan: a=cell(1,53)
kullanarak bir hücre dizisini önceden tahsis ettim. Sonra if exist(filename(i))
kullandım ve bir dosyayı kontrol etmek için metinleri tarayabilir ve okuyabilir. Sonuç olarak, filename(i)
yok olduğunda boş bir hücre oluşur ve bir sonraki dosyaya gideriz.
Tüm dosyalarda okumayı bitirdiğimde, a
boş hücrelerini silmek istiyorum. a(i)==[]
çalışmaz: Ben CELLFUN
%# find empty cells
emptyCells = cellfun(@isempty,a);
%# remove empty cells
a(emptyCells) = [];
Not if a(i)==[]
'emptyCells = cellfun ('IsEmpty', a) '' ... 'cellfun' bir iç' anahtarı vardır dize, "sihirli" bir hız artışı yapabileceğini bir dizi işlevden biri olup olmadığını kontrol eden bir deyim ... Bu burada açıklanmıştır: http://undocumentedmatlab.com/blog/cellfun-undocumented-performance -boost/ – JudoWill
+1 boş hücrelerin nasıl silineceğini belirtmek için! Bu sadece boş olmayan girişleri içeren bir hücre dizisi ile kalıyor! – Matteo