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!