MATLAB Answers

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

2 views (last 30 days)
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 Comments

Sign in to comment.

Accepted Answer

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

  0 Comments

Sign in to comment.


Translated by