Comparing all the elements of an array with all the elements of another array

17 vues (au cours des 30 derniers jours)
CV
CV le 20 Oct 2020
Modifié(e) : CV le 21 Oct 2020
Hello ,
I want to compare Compare all the elements of an array with all the elements of another array and save the result to a now array.
i have an array A=[100 110 120 130.....600]
which i want to compare with B = [100 103 105 120 123 128 130 200 205 207 300 200 100 ]
if the value of B mateches with any element of array the value of A sholud be stored in new array C and the value should not repeal(like if there is already 100 in the array C then i should not write it again. )
the output should look like this
C = [100 120 130 200 300]

Réponse acceptée

Bruno Luong
Bruno Luong le 20 Oct 2020
Modifié(e) : Bruno Luong le 20 Oct 2020
This returns the elements in order as in B, from left to right
A = 100:10:600
B = [100 103 105 120 123 128 130 200 205 207 300 200 100 ]
C = unique(B(ismember(B,A)),'stable')

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 20 Oct 2020
Try this
C = A(ismember(A,B))
  3 commentaires
Bruno Luong
Bruno Luong le 21 Oct 2020
Change statement
ismember(...)
to
ismembertol(..., 2, 'DataScale', 1)
CV
CV le 21 Oct 2020
Modifié(e) : CV le 21 Oct 2020
i tried the statement of B = [102 150 175 200 205 210 300 99]; an it returns C = [102 150 200 210 300 99] but i should return C [100 150 200 210 300]
but after executing
C = A(ismembertol(A,B,2, 'DataScale', 1))
it returns the correct answer.
thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by