Hi, I want to eliminate duplicates in a cell array in Matlab

1 次查看(过去 30 天)
T =
1×5 cell array
{[1 2 5]} {[1 2 5]} {[1 3 5]} {[1 4 5]} {[2 4 5]} {[4 6]}
I want:
T
=
{[1 2 5]} {[1 3 5]} {[1 4 5]} {[2 4 5]} {[4 6]}

回答(2 个)

Chunru
Chunru 2022-6-2
T = {[1 2 5], [1 2 5], [1 3 5], [1 4 5], [2 4 5], [4 6]}
T = 1×6 cell array
{[1 2 5]} {[1 2 5]} {[1 3 5]} {[1 4 5]} {[2 4 5]} {[4 6]}
Tu = T(1)
Tu = 1×1 cell array
{[1 2 5]}
for i=2:numel(T)
toAppend = true;
for j=1:numel(Tu)
if isequal(Tu(j), T(i))
toAppend = false;
break
end
end
if toAppend
Tu(end+1) = T(i);
end
end
Tu
Tu = 1×5 cell array
{[1 2 5]} {[1 3 5]} {[1 4 5]} {[2 4 5]} {[4 6]}

Stephen23
Stephen23 2022-6-2
T = {[1,2,5], [1,2,5], [1,3,5], [1,4,5], [2,4,5], [4,6]}
T = 1×6 cell array
{[1 2 5]} {[1 2 5]} {[1 3 5]} {[1 4 5]} {[2 4 5]} {[4 6]}
for ii = numel(T):-1:2
for jj = 1:ii-1
if isequal(T{ii},T{jj})
T(ii) = [];
continue
end
end
end
display(T)
T = 1×5 cell array
{[1 2 5]} {[1 3 5]} {[1 4 5]} {[2 4 5]} {[4 6]}

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by