MATLAB Answers

M@lik Ali
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

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

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


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

corrected

This solution is more general


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!