remove values of a matrix from another

14 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by