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

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 13 Mär. 2013
Bearbeitet: Azzi Abdelmalek am 13 Mär. 2013

0 Stimmen

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

3 Kommentare

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 am 13 Mär. 2013
thanks second one working gud

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 13 Mär. 2013
Bearbeitet: Andrei Bobrov am 13 Mär. 2013

1 Stimme

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 Kommentare

M@lik Ali
M@lik Ali am 13 Mär. 2013
sorry it is not working
Andrei Bobrov
Andrei Bobrov am 13 Mär. 2013
corrected
Azzi Abdelmalek
Azzi Abdelmalek am 13 Mär. 2013
This solution is more general

Melden Sie sich an, um zu kommentieren.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by