2015-11-23 3 views
3

Мой мобильный массив S <1x4cell> содержит 4 ячейки массивов (<108x1cell>, <106x1cell>, <111x1cell>, <115x1cell>), каждый из которых содержит список примерно ста путей к файлам.Объединение нескольких массивов клеток

Я хочу объединить их, чтобы получить одну ячейку со всеми моими путями. Есть ли одна функция для этого?

+1

См: [ 'cat'] (http://www.mathworks.com/help/matlab/ref/cat.html) – excaza

+0

Добро пожаловать в StackOverflow! Пожалуйста, подумайте о принятии ответа (зеленая галочка слева), если это вам помогло. Таким образом вы укажете системе, что ваша проблема решена! Спасибо. – thewaywewalk

ответ

5

Объединить свои клеточные массивы и использовать unique:

%// example data 
A ={'a'; 
    'b'; 
    'c'; 
    'd'}; 
B = {'a'; 
    'e'; 
    'f'}; 
C = {'g'; 
    'a'; 
    'c'}; 

%// merge cells 
merged = [A(:); B(:); C(:)] 
%// or 
merged = cat(1, A(:), B(:), C(:)) 

%// remove duplicates 
filtered = unique(merged) 

или assumiming у вас уже есть массив S = merged ячейки, выполните следующие действия:

S = { A, B, C } 

%// remove duplicates 
filtered = unique(cat(1,S{:})) 
+0

@ JérômeRedouté посмотрите на мое редактирование – thewaywewalk

+0

ОК, вот пример моих данных: A = {{'my/file/path1'; 'my/file/path/2'}; ​​{'another/file/path3 ';' another/file/path/4 '}} –

+0

Вау, спасибо, уникальное предложение работает! –

Смежные вопросы