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

 Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 13 Mar 2013
Modificato: Azzi Abdelmalek il 13 Mar 2013
for k=1:size(B,1)
if isequal(B(k:k+1,:),A)
idx=k
break
end
end
B(idx:idx+1,:)=[]

3 Commenti

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 il 13 Mar 2013
thanks second one working gud

Accedi per commentare.

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 13 Mar 2013
Modificato: Andrei Bobrov il 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 Commenti

M@lik Ali
M@lik Ali il 13 Mar 2013
sorry it is not working
corrected
This solution is more general

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by