MATLAB Answers

Remove corresponding values in two arrays

조회 수: 1(최근 30일)
Ana Gabriela Guedes
Ana Gabriela Guedes 2021년 4월 14일
댓글: Adam Danz 2021년 4월 14일
Hi!
I have a vector with a lot of numbers, for example A = [9,1,5,2,3,2] and B = [12,23,41,4,10,6] (for example) and I want to remove all the values that are different from 1,2,5 or 9 and the correspondent elements in B. In this case I would want to remove the 3 in A and the 10 in B, ending uo with: new_A = [9,1,5,2,2] and new_B = [12,23,41,4,6]. For removing the values in A I'm doing the following but I dont know how to do remove the elenments in B.
(I want to apply this to vectors with hundreds of values so I cannot remove that separately)
A = [9,1,5,2,3,2] ;
B = [12,23,41,4,10,6];
x = [1,2,5,9,]; % values to keep in A
new_A = A(ismemmber(A,x));
How can I do this easily?

채택된 답변

David Hill
David Hill 2021년 4월 14일
A = [9,1,5,2,3,2] ;
B = [12,23,41,4,10,6];
x = [1,2,5,9,]; % values to keep in A
new_A = A(ismember(A,x));
new_B = B(ismember(A,x));
  댓글 수: 1
Ana Gabriela Guedes
Ana Gabriela Guedes 2021년 4월 14일
thank you a lot!! It works just like that :)

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

추가 답변(1개)

Bob Thompson
Bob Thompson 2021년 4월 14일
편집: Bob Thompson 2021년 4월 14일
How can I do this easily?
Please feel free to elaborate what 'easily' means to you. Your logic for A seems pretty well set up to me. The only thing I can think of to make it more 'easy' would be how you're generating x, but I know nothing about that, so I can't help.
That said, getting B to be reduced is actually just as simple.
new_B = B(ismember(A,x));
The same logic for A can be applied to B because ismember(A,x) produces a logic array, rather than the specific values, and so you can similarly using it to indicate which elements of B you want.
This does require A and B to be the same size (I believe).
  댓글 수: 1
Ana Gabriela Guedes
Ana Gabriela Guedes 2021년 4월 14일
thank you a lot!! It works just like that :)

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

Community Treasure Hunt

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

Start Hunting!

Translated by