how to delete duplicate values in a cell array of characters

3 vues (au cours des 30 derniers jours)
cat cat
cat cat le 9 Fév 2016
Commenté : Julian Hapke le 10 Fév 2016
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

Réponse acceptée

Julian Hapke
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
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
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...

Connectez-vous pour commenter.

Plus de réponses (0)

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!

Translated by