MATLAB Answers

0

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

Log in to comment.

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

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
B(find(all(ismember(B,A),2)),:)=[]

thanks second one working gud

Log in to comment.


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

sorry it is not working

This solution is more general

Log in to comment.


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

MATLAB Academy

New to MATLAB?

Learn MATLAB today!