how to delete duplicate values in a cell array of characters
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi! I have this cell array of charachter:
a={'1';'1';'1';'1';'1';'3';'3';'3';'3';'3';'3';'4';'4';'4';'4'};
and I want to trasform it in this:
a={'1';'';'';'';'';'3';'';'';'';'';'';'4';'';'';''};
can you help me? thanks
0 commentaires
Réponse acceptée
Julian Hapke
le 9 Fév 2016
a={'1';'1';'1';'1';'1';'3';'3';'3';'3';'3';'3';'4';'4';'4';'4'};
[~,c,~]=unique(a);
tmp=true(size(a));
tmp(c)=false;
[a{tmp}] = deal('')
3 commentaires
Guillaume
le 9 Fév 2016
I would have the last line as:
a(tmp) = {''};
I'm sure it involves less work in the background than cell array to comma separated list + deal expansion.
Julian Hapke
le 10 Fév 2016
you're right, that's the cleaner way. I often have trouble getting the cell array syntax right...
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Elementary Math 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!