Remove corresponding values in two arrays

27 ビュー (過去 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 :)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by