How to get rid of repeating values inside an array
2 ビュー (過去 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.
参考
カテゴリ
Help Center および File Exchange で NaNs についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!