How to eliminate the elements in an array from another array when there are repeated elements in both arrays?

2 views (last 30 days)
zhehao.nkd
zhehao.nkd on 26 Jun 2022
Edited: Matt J on 26 Jun 2022
For example,
A = [ 1,2,2,2,3,4];
B = [1,2,2,3];
What I expect is A eliminate elements from B ( 2 with exact the same number of repeats) to get C = [2,4];
Thanks!

Answers (1)

Matt J
Matt J on 26 Jun 2022
Edited: Matt J on 26 Jun 2022
A = [ 1,2,2,2,3,4];
B = [1,2,2,3];
Au=[unique(A),inf];
reps=max( histcounts(A,Au)-histcounts(B,Au) ,0);
C=repelem(Au(1:end-1),reps)
C = 1×2
2 4

Tags

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!