Re: [讨论] 挑出向量重复元素

楼主: ittfie (kevin)   2016-08-20 21:52:50
unique 会回传 unique 的 index (ia)
所以只要把不在 ia 中的 index 对应的值取出来
就都是重复的元素了
不过这时候还要再用一次 unique
才可以得到不重复的结果
程式码:
A = [ 2 2 2 1 8 8 7 4 9 8 ];
[C, ia, ~] = unique(A);
B = unique(A(setdiff(1:length(A),ia)));
A = setdiff(C,B);
※ 引述《andgitisaac (AndGiTiSaaC)》之铭言:
: 想请问各位前辈
: 假设有一个向量A = [ 2 2 2 1 8 8 7 4 9 8 ]
: 现在想要把有重复的元素从里面剔除,
: 另外不重复地分派到向量B
: 使得结果为A = [ 1 7 4 9 ]; B = [ 2 8 ];
: (结果不一定要经过排序或按照原顺序)
: 翻了很多文都只能找到"删除重复"的元素(使用unique)
: 但不是我想要的结果Orz....
作者: andgitisaac (AndGiTiSaaC)   2016-08-21 10:01:00
原来是这样,看help没有想到index用法,感谢大大
作者: at01076172   2016-08-21 12:48:00
这方法简单许多

Links booklink

Contact Us: admin [ a t ] ucptt.com