Идентификация uniques в массиве ячеек

Я имею 45x2 ячейка в MATLAB с первым столбцом, который удваивает произвольно размерная матрица.

Некоторые из этих матриц повторяются, пока другие не. Я пытаюсь разделить только уникальные матрицы (но записываю количество повторений), и сохраните второй столбец, как.

Я попробовал много вещей (плоский, тсс и др.), но они все перестали работать из-за структуры ячейки (я думаю). Как можно было бы пойти о выполнении этого, за исключением цикличного выполнения через каждого из них индивидуально?

6
задан Andrey Rubshtein 26 January 2012 в 07:02
поделиться

1 ответ

Если вы конвертируете свои матрицы в строки, вы можете запускать для них уникальные:

%# create a sample cell array
mc = {magic(3);magic(4);magic(4);magic(5);magic(3);magic(4)}

%# convert to strings
mcs = cellfun(@(x)(mat2str(x)),mc,'uniformoutput',false);

%# run unique
[uniqueCells,idxOfUnique,idxYouWant] = unique(mcs);
11
ответ дан 9 December 2019 в 22:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: