remove values of a matrix from another

16 views (last 30 days)
Hi,
I have 2 matrices that are just lists of numbers. Matrix "A" is 380x1 and Matrix "B" is 230x1. I am trying to remove all of the numbers that are in "B" from "A". All of the numbers that are in B are in A so that should not be a problem. I have been trying to use
A(B)=[];
That is giving me the error "Index of element to remove exceeds matrix dimensions." I don't understand this since B is smaller than A.
Are there any other ways to do this?
Thanks in advance.

Accepted Answer

José-Luis
José-Luis on 6 May 2014
A = A(~ismember(A,B))

More Answers (1)

Sara
Sara on 6 May 2014
If A and B are 1D arrays:
for i = 1:numel(B)
A(A==B(i)) = [];
end

Community Treasure Hunt

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

Start Hunting!