Azzera filtri
Azzera filtri

Removing values form the Matrix

3 visualizzazioni (ultimi 30 giorni)
M@lik Ali
M@lik Ali il 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

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
Azzi Abdelmalek
Azzi Abdelmalek il 13 Mar 2013
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
Andrei Bobrov
Andrei Bobrov il 13 Mar 2013
corrected
Azzi Abdelmalek
Azzi Abdelmalek il 13 Mar 2013
This solution is more general

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by