matrix C from A and B
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Firas
am 30 Mai 2014
Bearbeitet: Sean de Wolski
am 30 Mai 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 Kommentare
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
Akzeptierte Antwort
Geoff Hayes
am 30 Mai 2014
Bearbeitet: Geoff Hayes
am 30 Mai 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
Weitere Antworten (1)
Sean de Wolski
am 30 Mai 2014
Bearbeitet: Sean de Wolski
am 30 Mai 2014
Or use setxor
>> C = setxor(A,B,'rows')
0 Kommentare
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!