Extraction of unique arrays in a cell

2 vues (au cours des 30 derniers jours)
Amir Mahmoudi
Amir Mahmoudi le 19 Sep 2024
Modifié(e) : Amir Mahmoudi le 19 Sep 2024
Assume there is a cell of the size 1 by N. Each cell contains an array. Some of the arrays are equal. How can I remove duplicate ones? Is there a "unique" function for cells?

Réponse acceptée

Taylor
Taylor le 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:');
disp(uniqueCellArray);

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays 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