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

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 3월 13일
편집: Azzi Abdelmalek 2013년 3월 13일

0 개 추천

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

댓글 수: 3

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 2013년 3월 13일
thanks second one working gud

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2013년 3월 13일
편집: Andrei Bobrov 2013년 3월 13일

1 개 추천

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

M@lik Ali
M@lik Ali 2013년 3월 13일
sorry it is not working
Andrei Bobrov
Andrei Bobrov 2013년 3월 13일
corrected
Azzi Abdelmalek
Azzi Abdelmalek 2013년 3월 13일
This solution is more general

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by