matrix C from A and B

5 views (last 30 days)
Firas
Firas on 30 May 2014
Edited: Sean de Wolski on 30 May 2014
Hey again I want function that gives matrix C from A and B thanks
in fact if we have the same raw in A and B , we delete it and the result will be the matrix C
  6 Comments
Firas
Firas on 30 May 2014
yes
Image Analyst
Image Analyst on 30 May 2014
firas, it's like pulling teeth to get you to help us help you. I mean, most people would give example arrays for A, B, and C . Sure I can make up something, but why are you putting the burden on us? Why not make it EASY for us to help you ? Here, read this and then fix your post: http://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer

Sign in to comment.

Accepted Answer

Geoff Hayes
Geoff Hayes on 30 May 2014
Edited: Geoff Hayes on 30 May 2014
If your algorithm is to remove all rows that are common to A and B, and we are assuming that these two matrices have the same number of columns, then try the following:
A = [1 2 3; 4 5 6; 7 8 9; 10 20 30];
B = [11 12 13; 4 5 6; 14 15 16; 7 8 9; 17 18 19];
if size(A,2)==size(B,2)
% get the intersection of A and B, i.e. all those rows that are common
[Rows,IA,IB] = intersect(A,B,'rows');
% Rows is a matrix of the rows common to A and B
% IA is all the row numbers in A of those common rows
% IB is all the row numbers in B of those common rows
% remove all those common rows from A and B
A(IA,:) = [];
B(IB,:) = [];
% concatenate what is left to get C
C = [A;B];
end

More Answers (1)

Sean de Wolski
Sean de Wolski on 30 May 2014
Edited: Sean de Wolski on 30 May 2014
Or use setxor
>> C = setxor(A,B,'rows')

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!