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 Kommentare

Image Analyst
Image Analyst am 30 Mai 2014
So? Do you have a question?
Geoff Hayes
Geoff Hayes am 30 Mai 2014
A little more detail is required...how is C to be constructed from A and B?
Firas
Firas am 30 Mai 2014
in fact if we have the same raw in A and B , we delete it and the result will be the matrix C
Geoff Hayes
Geoff Hayes am 30 Mai 2014
So is your algorithm to find all rows that are distinct in A and B, assuming that A and B have the same number of columns?
Firas
Firas am 30 Mai 2014
yes
Image Analyst
Image Analyst am 30 Mai 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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 30 Mai 2014
Bearbeitet: Geoff Hayes am 30 Mai 2014

0 Stimmen

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

Weitere Antworten (1)

Sean de Wolski
Sean de Wolski am 30 Mai 2014
Bearbeitet: Sean de Wolski am 30 Mai 2014

0 Stimmen

Or use setxor
>> C = setxor(A,B,'rows')

Community Treasure Hunt

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

Start Hunting!

Translated by