deleting number

i have values such as A=[12 20 1 5 69 70 21 50 46 52 87 83 11 21]
B=[ 70 50 12 83]
now i want to delete B values from A ,so i will have output as
C=[20 1 5 69 21 46 52 87 11 21 ]

 Accepted Answer

Andrei Bobrov
Andrei Bobrov on 28 Feb 2012
[C1,ic] = setdiff(A,B)
[i1,i1] = sort(ic)
C = C1(i1)
OR
C = A(~ismember(A,B))

More Answers (1)

Wayne King
Wayne King on 28 Feb 2012
Hi, You can use intersect to get the indices of A that intersect with elements of B and then delete those.
[C,IA,IB] = intersect(A,B);
A(IA) = [];

3 Comments

kash
kash on 28 Feb 2012
wayne thanks a lot ,without using any in built command is it possible,using loops
Oleg Komarov
Oleg Komarov on 28 Feb 2012
Sounds like a homework.
Jan
Jan on 28 Feb 2012
No, kask, it is impossible to do this "without built-in command", because all you can write in Matlab requires built-in commands. If your teacher told you to do this, ask him for thinking twice.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!