Wie erkenne ich leere Zellen in einem Zellenfeld? Ich weiß, dass der Befehl zum Entfernen der leeren Zelle a(1) = []
ist, aber ich kann MATLAB anscheinend nicht erkennen, welche Zellen leer sind.Wie erkenne ich leere Zellen in einem Zellenfeld?
Hintergrund: Ich ein Zell-Array mit a=cell(1,53)
voralloziert. Dann habe ich if exist(filename(i))
und textscan, um nach einer Datei zu suchen, und lesen Sie es ein. Als Ergebnis, wenn die filename(i)
nicht existiert, eine leere Zelle resultiert und wir bewegen uns auf die nächste Datei. Wenn ich mit dem Lesen aller Dateien fertig bin, möchte ich die leeren Zellen von a
löschen. Ich habe versucht, if a(i)==[]
für eine leichte Verbesserung der Geschwindigkeit Verwendung 'emptyCells = cellfun ('isempty', a);' ... 'cellfun' verfügt über einen internen Schalter' 'Anweisung, die überprüft, um zu sehen, ob die Zeichenfolge eine von einer Handvoll von Funktionen ist, die es kann eine" magische "Geschwindigkeit erhöhen mit ... Dies ist hier beschrieben: http://undocumentedmatlab.com/blog/cellfun-undocumedited-performance -boost/ – JudoWill
+1 für die Angabe, wie man die leeren Zellen löscht! Dies hinterlässt ein Zell-Array, das nur die nicht leeren Einträge enthält! – Matteo