Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Removing values form the Matrix

Asked by M@lik Ali on 13 Mar 2013

Hi, All

i have two matrix matrix A has size 2 62 matrix B has size 10 62

actually the matrix B contains also matrix A

i want to remove the matrix A from matrix B.

How i can do this

0 Comments

M@lik Ali

Products

No products are associated with this question.

2 Answers

Answer by Azzi Abdelmalek on 13 Mar 2013
Edited by Azzi Abdelmalek on 13 Mar 2013
Accepted answer
for k=1:size(B,1)
     if isequal(B(k:k+1,:),A)
          idx=k
          break
     end
end
B(idx:idx+1,:)=[]

3 Comments

M@lik Ali on 13 Mar 2013

Thanks for the response,

 but i think there must be a simple solution as
for the vector we have 
B(ismember(B,A)) = [];
it works for the vector, i think there should be a solution for the matrix
Azzi Abdelmalek on 13 Mar 2013
B(find(all(ismember(B,A),2)),:)=[]
M@lik Ali on 13 Mar 2013

thanks second one working gud

Azzi Abdelmalek
Answer by Andrei Bobrov on 13 Mar 2013
Edited by Andrei Bobrov on 13 Mar 2013

in your case:

B = randi(100,10,62);
A = B(4:5,:);
B(end,:) = A(1,:);     % your data
[a,ii] = ismember(B,A,'rows');
iii = 1:size(A,1);
i1 = strfind(ii(:)',iii) + iii - 1;
B(i1,:) = [];

3 Comments

M@lik Ali on 13 Mar 2013

sorry it is not working

Andrei Bobrov on 13 Mar 2013

corrected

Azzi Abdelmalek on 13 Mar 2013

This solution is more general

Andrei Bobrov

Contact us