Info

This question is closed. Reopen it to edit or answer.

Extraction of unique arrays in a cell

1 view (last 30 days)
Amir Mahmoudi
Amir Mahmoudi on 19 Sep 2024
Closed: Stephen23 on 19 Sep 2024
This question was flagged by Voss
Assume there is a cell of the size 1 by N. Each cell contains an array. Some of the arrays (of the same length) are equal. How can I remove duplicate ones? Is there a unique function for cells?

Answers (1)

Taylor
Taylor on 19 Sep 2024
One possible approach:
% Assume 'cellArray' is your 1xN cell array containing arrays
cellArray = {
[1, 2, 3],
[4, 5, 6],
[1, 2, 3], % Duplicate
[7, 8, 9],
[4, 5, 6] % Duplicate
};
% Convert each cell's array to a string representation
arrayStrings = cellfun(@mat2str, cellArray, 'UniformOutput', false);
% Find unique string representations and their indices
[~, uniqueIndices] = unique(arrayStrings, 'stable');
% Use the unique indices to create a cell array without duplicates
uniqueCellArray = cellArray(uniqueIndices);
% Display the result
disp('Cell array with duplicates removed:');
Cell array with duplicates removed:
disp(uniqueCellArray);
{[1 2 3]} {[4 5 6]} {[7 8 9]}

This question is closed.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!