How to get rid of repeating values inside an array
조회 수: 3 (최근 30일)
이전 댓글 표시
I have a matrix
a=[1 2 3 3 4 4 5];
I want to get rid of values 3 and 4 as they are repeating so that the output becomes
b=[1 2 5]
댓글 수: 0
추가 답변 (1개)
Andrei Bobrov
2017년 9월 19일
편집: Andrei Bobrov
2017년 9월 21일
v = unique(a);
b = v(histcounts(a,[v(:);v(end)+eps]) == 1);
or
v = unique(a);
b = v(histc(a,v) == 1);
or
aa = sort(a);
t = diff(aa);
b = aa([1 t] & [t 1]);
댓글 수: 3
José-Luis
2017년 9월 19일
histcounts() was introduced with R2014b. You don't need it though. unique() is enough. Andrei was giving you two alternatives.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!