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

15 Ansichten (letzte 30 Tage)
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]

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 20 Okt. 2020
Bearbeitet: Bruno Luong am 20 Okt. 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')

Weitere Antworten (1)

Ameer Hamza
Ameer Hamza am 20 Okt. 2020
Try this
C = A(ismember(A,B))
  3 Kommentare
Bruno Luong
Bruno Luong am 21 Okt. 2020
Change statement
ismember(...)
to
ismembertol(..., 2, 'DataScale', 1)
CV
CV am 21 Okt. 2020
Bearbeitet: CV am 21 Okt. 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by