2014-09-10 2 views

ответ

0

основного раствора для нахождения уников

unique(cellfun(@(x)(mat2str(x)),a,'uniformoutput',false)) 

Это можно найти here фактически.


Осложняющих факторы

Технически пустая ячейка в конце также уникален, возможно, вы хотите, чтобы удалить его отдельно, как так:

a(cellfun(@isempty,a)) = [] 

В настоящее время вы получите строки в качестве вывода, это может решаются так:

[~, idx] = unique(cellfun(@(x)(mat2str(x)),a,'uniformoutput',false)) 
a(idx) 

Я лично считаю, что это сложнее это должно быть.


Резюме

Вы можете получить желаемый результат, как так

a(cellfun(@isempty,a)) = [] 
[~, idx] = unique(cellfun(@(x)(mat2str(x)),a,'uniformoutput',false)) 
a(idx) 
Смежные вопросы