Removing values form the Matrix

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

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 13 Mar 2013
Modifié(e) : Azzi Abdelmalek le 13 Mar 2013

0 votes

for k=1:size(B,1)
if isequal(B(k:k+1,:),A)
idx=k
break
end
end
B(idx:idx+1,:)=[]

3 commentaires

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)),:)=[]
M@lik Ali
M@lik Ali le 13 Mar 2013
thanks second one working gud

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 13 Mar 2013
Modifié(e) : Andrei Bobrov le 13 Mar 2013

1 vote

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 commentaires

M@lik Ali
M@lik Ali le 13 Mar 2013
sorry it is not working
Andrei Bobrov
Andrei Bobrov le 13 Mar 2013
corrected
Azzi Abdelmalek
Azzi Abdelmalek le 13 Mar 2013
This solution is more general

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by