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

New to MATLAB?

Removing values form the Matrix

Asked by M@lik Ali

M@lik Ali (view profile)

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

M@lik Ali (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 13 Mar 2013
Edited by Azzi Abdelmalek

Azzi Abdelmalek (view profile)

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

M@lik Ali (view profile)

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

Azzi Abdelmalek (view profile)

on 13 Mar 2013
B(find(all(ismember(B,A),2)),:)=[]
M@lik Ali

M@lik Ali (view profile)

on 13 Mar 2013

thanks second one working gud

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

Answer by Andrei Bobrov

Andrei Bobrov (view profile)

on 13 Mar 2013
Edited by Andrei Bobrov

Andrei Bobrov (view profile)

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

M@lik Ali (view profile)

on 13 Mar 2013

sorry it is not working

Andrei Bobrov

Andrei Bobrov (view profile)

on 13 Mar 2013

corrected

Azzi Abdelmalek

Azzi Abdelmalek (view profile)

on 13 Mar 2013

This solution is more general

Andrei Bobrov

Andrei Bobrov (view profile)

Contact us