How to extract some rows from a matrix and put them in another matrix?

2 visualizzazioni (ultimi 30 giorni)
I have a matrix
Q=[ 1 2 3 4; 4 3 2 1; 6 7 8 9]; N=[1 2 3 4; 6 7 8 9];
is there a function which output: Q=[4 3 2 1]; ? I mean a general function
I tried to delete all the rows which are in N from Q:
for j=1:size(N,1)
Q(all(Q==repmat(N(j,1:end) ,size(Q,1),1),2),:)=[];
end
Q;
Is there a one-line function? does this code I wrote is correct for any arbitrary N and Q?

Risposta accettata

Stephen23
Stephen23 il 17 Feb 2020
>> idx = ismember(Q,N,'rows');
>> Q(idx,:) = []
Q =
4 3 2 1

Più risposte (1)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH il 17 Feb 2020
setdiff(Q,N,'rows')

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by