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

2 visualizzazioni (ultimi 30 giorni)
Cantor Set il 17 Feb 2020
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?
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Stephen23 il 17 Feb 2020
>> idx = ismember(Q,N,'rows');
>> Q(idx,:) = []
Q =
4 3 2 1
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Più risposte (1)

JESUS DAVID ARIZA ROYETH il 17 Feb 2020
setdiff(Q,N,'rows')
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### 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