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!