How to use unique function in 2D matrices?
19 次查看(过去 30 天)
显示 更早的评论
hello
I would like to know how I can use the unique function in matlab in such a way that i take off similar elements out of the 2D matrix, provided that the unique function does NOT SORT out he matrix and does NOT CHANGE ITS SHAPE
for example, consider x = [1 1 2 2 3 3 4 4; 5 5 6 6 7 7 8 8 ; 9 9 10 10 11 11 12 12]
output x = [1 2 3 4; 5 6 7 8; 9 10 11 12]
when I used unique, I did not find a way that did not play around with the shape of the 2D matrix
2 个评论
采纳的回答
Jan
2016-10-9
x = [1 1 2 2 3 3 4 4; 5 5 6 6 7 7 8 8; 9 9 10 10 11 11 12 12]
nRow = size(x, 1);
c = cell(1, nRow);
for iRow = 1:nRow
c{iRow} = unique(x(iRow, :), 'stable');
end
result = cat(1, c{:}); % Fails if number of unique elements differ
更多回答(1 个)
Marc Jakobi
2016-10-9
编辑:Marc Jakobi
2016-10-9
x = [1 1 2 2 3 3 4 4; 5 5 6 6 7 7 8 8 ; 9 9 10 10 11 11 12 12];
y = unique(x','rows')';
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!