Remove specific values from array

507 次查看(过去 30 天)
Hi!
I have a vector with a lot of numbers, for example, A = [9,1,2,5,1,2,5,1,1,5,2,3,1,2,5,1,2,5,4,1,2,5,10]; and I want to remove all the values that are different from 1,2,5,9 or 10. In this case I would want to remove 3 and 4 so A would be
A = [9,1,2,5,1,2,5,1,1,5,2,1,2,5,1,2,5,1,2,5,10];
(I want to apply this to a vector with hundreds of values so I cannot remove that separately, I probably need do do a cycle but its not working)
How can I do this easily?

采纳的回答

DGM
DGM 2021-4-13
编辑:DGM 2021-4-13
Something like this:
A = [9,1,2,5,1,2,5,1,1,5,2,3,1,2,5,1,2,5,4,1,2,5,10] % input
x = [1,2,5,9,10]; % values to keep
B = A(ismember(A,x))
  4 个评论
Ana Gabriela Guedes
If I have a C vector that corresponds to A and want to remove the correspondents elements in C how can I do it?
So if I have A = [9,1,5,2,3,2] and C = [12,23,41,4,10,6] (for example)
I'll do as you said:
x = [1,2,5,9,]; % values to keep
B = A(ismember(A,x)) % B = [9,1,5,2,2]
and need to end up with an C = [12,23,41,4,6]
How can I remove in C the element that corresponds to the 3 in A?
Adam Danz
Adam Danz 2021-4-14
ismember(A,x) returns a logical index. Use that logical index to remove (or keep) values in both A and B.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by