Jak wykrywać puste komórki w tablicy komórek? Wiem, że polecenie usunięcia pustej komórki to a(1) = []
, ale nie mogę sprawić, że MATLAB automatycznie wykryje, które komórki są puste.Jak wykrywać puste komórki w tablicy komórek?
Tło: Wstępnie przydzieliłem macierz komórek przy użyciu a=cell(1,53)
. Następnie użyłem if exist(filename(i))
i textscan, aby sprawdzić plik i odczytać go. W rezultacie, gdy filename(i)
nie istnieje, pusta komórka powoduje przejście do następnego pliku.
Po skończeniu czytania we wszystkich plikach, chciałbym usunąć puste komórki z a
. Próbowałem if a(i)==[]
na lekką poprawę wykorzystania prędkości 'emptyCells = cellfun ('isEmpty', a);' ... 'cellfun' posiada wewnętrzny przełącznik' 'instrukcja, która sprawdza, czy ciąg jest jedną z kilku funkcji, które może zrobić" magiczny "wzrost prędkości z ... Jest to opisane tutaj: http://undocumentedmatlab.com/blog/cellfun-undocumented-performance -boost/ – JudoWill
+1 dla określenia sposobu usuwania pustych komórek! Pozostaje ci tablica komórek zawierająca tylko niepuste wpisy! – Matteo