Eliminate of empty matrix on cell structure.
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everbody.
I have 1*1724 cell structure and i want to find which cells are not empty matrix.
for l=1:1:1724
if buyuk_elemanlar{1,l}==[];
clear buyuk_elemanlar{1,l}
elseif
???
end
end
I don'nt know how type matlab code after the "elseif"?

0 commentaires
Réponses (2)
Jan
le 29 Nov 2015
Use isempty instead of | == []|. clear is not useful to remove a single element. Do not remove elements of the cell inside the loop. Because then the loop index does not match the cell index anymore.
Different solutions:
m = false(1, 1724);
for k = 1:1724
if isempty(buyuk_elemanlar{1, k})
m(k) = true;
end
end
buyuk_elemanlar(m) = [];
Or:
m = false(1, 1724);
for k = 1:1724
m(k) = isempty(buyuk_elemanlar{1, k})
end
buyuk_elemanlar(m) = [];
Or:
m = cellfun('isempty', buyuk_elemanlar);
buyuk_elemanlar(m) = [];
The meaning of the "elseif ???" cannot be guessed. What should happen when the cell is not empty?
1 commentaire
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!