How to use unique function here

3 views (last 30 days)
NA
NA on 6 Mar 2020
Answered: Bhaskar R on 6 Mar 2020
I have
A={{[1,3,4],[1],[2,3,4,6,8]},{[1,2,34],[1,2,3,4,5,6,7],[1,2,9,6,4],[1,3,4]},{[8,9],[2,3,4,6,8],[1,3,4]}};
A = cellfun(@(x) unique(x,'rows'),A,'uniformoutput',false);
when I want to use unique function it gives me this error
Error using cell/unique (line 4)
Cell array input must be a cell array of character vectors.
I want to have this result
A={[1,3,4],[1],[2,3,4,6,8],[1,2,34],[1,2,3,4,5,6,7],[1,2,9,6,4],[8,9]}

Accepted Answer

Bhaskar R
Bhaskar R on 6 Mar 2020
inn_A = [A{:}];
str_A = cellfun(@(x)num2str(x(:)'),inn_A,'UniformOutput',false);
[~,idx,idx2] = unique(str_A);
Result = inn_A(idx);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!