Extraction of unique arrays in a cell
2 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Taylor
2024-9-19
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);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!